2012-06-21 5 views
4

Предположим, что у нас есть файл вроде этого:Linux - получить текст из второй вкладке

sometext11 sometext12 sometext13 sometext21 sometext22 sometext23

Тексты разделены закладками и мы знаем SOMETEXT из колонки 1, но хочу, чтобы получить текст из колонки 2. Я знаю, что могу получить линию:

grep 'sometext11' file.txt 

Как получить текст из второго столбца? Может быть, какой-нибудь инструмент с опцией -t [column nr]?

ответ

11

AWK:

awk '{print $2}' file.txt 

покрой:

cut -f2 file.txt 

Баш:

while read -a A; do echo ${A[1]}; done < file.txt 

Perl:

perl -lane 'print $F[1]' file.txt 

Если вы знаете строку вы для оглавлению, вы можете использовать grep:

grep -o 'sometext12' file.txt 
+0

thx. Я использовал cut – bandit

0

Вам не нужно grep:

awk '/sometext11/ {print $2}' file.txt 

или вы можете сделать все это в grep, если ваша версия поддерживает Perl Compatible Regular Ex (PCRE), таких как GNU или OS X grep:

grep -Po '(?<=sometext11\t).*?(?=\t.*)' file.txt 
+0

nice awk command. Я запомню это. +1 – bandit