我想使用awk转换" {(linefeed)"只是" {"
我试过没有成功
awk '{gsub("{\n", "{")} input >output;
任何合理的描述性解决方案......?
答案 0 :(得分:1)
使用GNU awk进行多字符RS,让您一次读取整个文件:
awk -v RS='^$' -v ORS= '{gsub(/{\n/, "{")} 1' input >output
答案 1 :(得分:0)
您的问题是,与perl不同,记录分隔符不会出现在记录中。
如果该行上的最后一个字符是开括号,则不使用换行符打印,否则使用换行符打印。
awk '/{$/ {printf "%s", $0; next} 1' file
或,
awk '{printf "%s%s", $0, /{$/ ? "" : ORS}' file