使用awk命令找出需要的字符串
发布网友
发布时间:2022-04-22 08:24
我来回答
共3个回答
热心网友
时间:2022-06-18 14:10
直接用awk 'BEGIN{RS=" "} /^%%/||/\*\*/{print}' 1.dat >result.dat就可以实现;
参考实例如下:
# awk '{for (i=1;i<=NF;i++){if ($i ~ /\*\*/ || $i ~/^%%/ ) printf("%s\n",$i)}}' 1.dat
%%jifaoerfh
faehui**jh
f**jojiofa
%%jifoafiroa
%%farjfiaorfeafa
faehui**jh
f**jojiofa
%%jifoafirofaerfa
热心网友
时间:2022-06-18 14:11
这样:
awk '{for(i=1;i<=NF;i++) if($i~/^%%/ || $i~/\*\*/) print $i}' 1.dat >result.dat
或者:
awk 'BEGIN{RS=" "} /^%%/||/\*\*/{print}' 1.dat >result.dat
热心网友
时间:2022-06-18 14:11
[root@zyh shell]# cat test
rjfiaorfa %%jifaoerfh %jiofaerf faehui**jh f**jojiofa %%jifoafiroa
%%farjfiaorfeafa jifaoerfh %jiofhdyhaerf faehui**jh f**jojiofa %%jifoafirofaerfa
[root@zyh shell]# awk 'BEGIN{RS=" "}/\*\*/||/^%%/{print $0}' test
%%jifaoerfh
faehui**jh
f**jojiofa
%%jifoafiroa
%%farjfiaorfeafa
faehui**jh
f**jojiofa
%%jifoafirofaerfa