0

100 個のファイルがあり、各ファイルの最初の列にある特定の単語を検索し、この単語のすべての列の内容を新しいファイルに出力したい このコードを試しましたが、うまく機能しません 1 つのファイルの内容のみを出力しますすべてではない:

ls -t *.txt > Filelist.tmp
cat Filelist.tmp | while read line do; grep "searchword" | awk '{print $0}' > outputfile.txt; done
4

1 に答える 1

2

これはあなたが望むものです:

$ awk '$1~/searchword/' *.txt >> output

これにより、最初のフィールドが比較され、一致する場合searchwordは行が追加されます。outputデフォルトのフィールド区切り文字awkは空白です。

あなたの試みの主な問題は、>常にファイルを上書きしていて、 append を使用したいということです>>

于 2013-03-20T13:24:20.837 に答える