我使用mawk。
我有一个文件:
{1: [u'Bank Pocztowy'], 2: [u'Pekao']}
我想得到结果:
{1: [uBank Pocztowy], 2: [uPekao]}
我试过了:
mawk '{gsub("\'",""); print}' file
感谢您的帮助。
修改 例如:
$ mawk '{gsub("\'",""); print}' file
>
答案 0 :(得分:2)
你的gsub应该如下:
gsub(/\047/,"" )
chekc with
mawk '{gsub(/\047/,""); print}' file
我这里没有安装mawk。我只有nawk:
用nawk测试:
> echo "{1: [u'Bank Pocztowy'], 2: [u'Pekao']}" | nawk '{gsub(/\047/,"" ) ; print}'
{1: [uBank Pocztowy], 2: [uPekao]}
或者,如果您想要perl中的解决方案:
> echo "{1: [u'Bank Pocztowy'], 2: [u'Pekao']}" | perl -pe "s/\'//g"
{1: [uBank Pocztowy], 2: [uPekao]}
答案 1 :(得分:0)
你也可以剪下最后的印刷品,让它跑得更快
mawk/mawk2/gawk 'BEGIN { FS = "^$" } gsub(/[\047]+/, "") || 1'
设置 FS 以免花时间拆分字段。如果存在单引号,gsub() 返回将自动处理打印。 “或 1”适用于该行不存在单引号的情况。
另一种方法是使用FS检测单引号
mawk/mawk2/gawk 'BEGIN { FS = "\047" } (NF == 1) || gsub(/[\047]+/, "")'