如何提取Linux(csh)中特定单词之后的单词?更确切地说,我有一个文件,其中只有一行看起来像这样:
_[some useless data]_ --pe_cnt **100** --rd_cnt 1000 _[some more data]_
我想提取单词 100 后面的数字--pe_cnt。我不能使用sed,因为仅当您要提取整行时才可以使用sed。也许我可以使用awk?
100
--pe_cnt
另外,我有多个具有不同值的文件,100所以我需要一些提取值但不依赖于值的文件。
与awk:
awk
awk '{for(i=1;i<=NF;i++) if ($i=="--pe_cnt") print $(i+1)}' inputFile
基本上循环遍历该行的每个单词。当您找到要查找的第一个单词时,抓住下一个单词并打印出来。
与grep:
grep
grep -oP "(?<=--pe_cnt )[^ ]+" inputFile