awk之修改匹配的第N个内容

来源:互联网 发布:eplan是什么软件 编辑:程序博客网 时间:2024/06/11 18:34
file:aaa88bbb8888ccc88dddeee[code]#修改匹配88的第一个awk '/88/&&!i++{$0="---"}1' fileawk '/88/{i++} /88/&&(i==1){$0="---"}1' file利用!i++只取第1个awk '/88/&&!a[$1]++{$0="---"}1' file#替换第三个awk '/88/{i++} /88/&&(i==3){$0="---"}1' fileawk '/88/&&(++i=3){$0="---"}1' file#替换第N个awk '/88/{i++} /88/&&(i==N){$0="---"}1' fileawk '/88/&&(++i=n){$0="---"}1' file#替换最后一个awk 'BEGIN{while(getline<"file"){j++;if(/88/)i=j}}NR==i{$0="---"}1' fileBEGIN{while (getline < "file")} 读取文件全部内容j++ 行计数if(/88/)i=j 将匹配的行号用i记录下来因为是逐行处理,只能保存最后的记录NR==i 执行打印sed ':a;/\n88/!{$s/88/--/;N;ba};P;D' filesed ':a;N;$!ba;s/\(.*\)88/\1--/' file

原创粉丝点击