7

次のようなファイルがあるとします。

sometext11 sometext12 sometext13 sometext21 sometext22 sometext23

テキストはタブで区切られており、列 1 のテキストはわかっていますが、列 2 からテキストを取得したいと考えています。次の方法で行を取得できることがわかっています。

grep 'sometext11' file.txt

2列目からテキストを取得するには? オプション -t [列番号] を備えたツールでしょうか。

4

4 に答える 4

13

awk:

awk '{print $2}' file.txt

切る:

cut -f2 file.txt

bash:

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

perl:

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

grepingしている文字列がわかっている場合は、次を使用できますgrep

grep -o 'sometext12' file.txt
于 2012-06-21T09:49:34.873 に答える
3
awk '{print $2}' < yourfile
于 2012-06-21T06:38:21.737 に答える
2

カットコマンドを使用できます

cut -f2
于 2012-06-21T06:45:50.013 に答える
0

あなたは必要ありませんgrep

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

grepまたは、GNUやOS XなどのPerl互換正規表現(PCRE)をサポートしている場合は、すべてを実行できますgrep

grep -Po '(?<=sometext11\t).*?(?=\t.*)' file.txt
于 2012-06-21T11:20:47.730 に答える