sed -i ':label;N;s/,\n)/\n)/g;b label' test.tmp 改写为awk命令
时间: 2024-03-20 19:39:27 浏览: 65
shell中的awk命令
5星 · 资源好评率100%
sed -i ':label;N;s/,\n)/\n)/g;b label' test.tmp 是将 test.tmp 文件中的 ",\n)" 替换为 ")",实现相同功能的 awk 命令如下:
```
awk '{ORS=""; if (/\,\n\)/) {sub(/\,\n\)/,")"); printf("%s",$0)} else {print}}' test.tmp > temp && mv temp test.tmp
```
这条 awk 命令会逐行读取 test.tmp 文件,如果当前行包含 ",\n)",则将其替换为 ")",否则直接输出该行。最后将输出结果保存到 temp 文件中,并将 temp 文件重命名为 test.tmp,相当于实现了 sed -i 的功能。
阅读全文