我有这样的x行:
Unable to find latest released revision of 'CONTRIB_046578'.
我需要在这个例子中修改’和’之间的单词CONTRIB_046578,如果可能的话,使用grep,sed或任何其他命令计算该单词的出现次数?
解决方法
您只需要一个非常简单的awk脚本来计算引号之间的内容:
awk -F\' '{c[$2]++} END{for (w in c) print w,c[w]}' file
使用@ anubhava的测试输入文件:
$cat file Unable to find latest released revision of 'CONTRIB_046572' Unable to find latest released revision of 'CONTRIB_046578' Unable to find latest released revision of 'CONTRIB_046579' Unable to find latest released revision of 'CONTRIB_046570' Unable to find latest released revision of 'CONTRIB_046579' Unable to find latest released revision of 'CONTRIB_046572' Unable to find latest released revision of 'CONTRIB_046579' $ $awk -F\' '{c[$2]++} END{for (w in c) print w,c[w]}' file CONTRIB_046578 1 CONTRIB_046579 3 CONTRIB_046570 1 CONTRIB_046572 2