我想将@@
替换为^
和¤¤
,并在文件中添加换行符。为此,我编写了下面的代码,但感觉有一个更优雅的解决方案,然后两次调用gawk。谁能告诉我有没有?
cat test.txt | gawk '{ gsub("@@", "^"); print }' | gawk '{ gsub("¤¤", "\r\n"); print }'
答案 0 :(得分:7)
首先,剥离cat
。它除了文件串联之外没用,这是它的目的。你的awk
命令将是
awk '{gsub("@@","^");gsub("¤¤","\r\n");print}' file
如果您想在执行上述操作之前删除所有换行符
tr -d '\r\n' <file > temp && mv temp file
答案 1 :(得分:2)
打印前只需调用gsub()两次。
gawk'{gsub(“@@”,“^”); gsub(“¤¤”,“\ r \ n”);打印}'