有没有办法避免awk中的“字符串换行”错误?

时间:2018-05-27 19:31:11

标签: bash awk

如何将包含换行符的cmdline args传递给open parenthesis?请参阅以下两个示例:

awk

1 个答案:

答案 0 :(得分:2)

你所拥有的将与gawk一起工作。使用像您一样使用的OSX(BSD),或者不要在字符串中添加换行符。

$ awk -v s='\ntext' 'BEGIN{ print s }'

text

或逃避它:

awk -v s='\
text' 'BEGIN{ print s }'

text

或(可以与任何awk一起使用)不使用-v传递它,而是作为参数传递:

$ awk 'BEGIN{s=ARGV[1]; ARGV[1]=""; print s }' $'\n''text'

text