我有100个文件,想要搜索每个文件第一列中的特定单词,并将该单词中所有列的内容打印到新文件 我尝试了这段代码,但效果不好,只打印一个文件的内容而不是全部:
ls -t *.txt > Filelist.tmp
cat Filelist.tmp | while read line do; grep "searchword" | awk '{print $0}' > outputfile.txt; done
答案 0 :(得分:2)
这就是你想要的:
$ awk '$1~/searchword/' *.txt >> output
这会将第一个字段与searchword
进行比较,如果匹配,则将该行附加到output
。 awk
的默认字段分隔符是空格。
您尝试的主要问题是,您要暂时覆盖>
文件,您希望使用追加>>
。