4

複数の行を持つファイルがあり、各行は複数の列に区切られ|ています。特定の行をgrepでき、特定の列を切り取ることができますが、両方を行う方法がわかりません。

grep '^1001' customer

customerという名前のファイルから1001で始まる行を取得します

cut -d "|" -f 3 customer

顧客ファイルのすべての行から列3を切り取ります。

それで....

grep '^1001' customer | cut -d "|" -f 3 customer
4

2 に答える 2

6

呼び出すときにファイル名を省略するだけでcut、の出力がgrep入力として使用されます。

grep 1001 customer | cut -d "|" -f 3

grep 10011001 で始まる行を取得しないことにも注意してください。1001を含む行を取得します。

于 2013-02-28T07:32:00.690 に答える
4

このタスクを次のように ask して、パイプを使用した複数のコマンドを避けることをお勧めします

awk -F "|" '$1==1001{print $3}' customer
于 2013-02-28T07:41:06.140 に答える