1 场景
在shell脚本中,单引号‘'’是一个特殊字符,特别是当使用awk命令输出单引号,即使使用/\'/转义都无法输出。
2 分析
尝试使用单引号的八进制编码来替代它进行输出:
awk -F ':' '{print "test.sh \047"$1"\047;"}' filename;
上述示例filename中存储的为各个参数,输出为:
test.sh 'a';
test.sh 'b';
...
3 总结
awr命令输出单引号,即使使用/\'/转义都不行,只能使用其八进制的编码输出。