2012-06-21 30 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 

如果你知道你在grepping的字符串,你可以使用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命令。我會記住它。 +1 – bandit

相關問題