我需要将每次出现的 to 更改!为:组文件中的字段分隔符。
sed 's/!/:/g' filename > newfilename
但我得到错误/: Event not found?
您正在使用csh,因此!被解释为修复此转义!或仅使用bash:
sed 's/\!/:/g' file > outfile
使用csh用于! 命令历史参考,它甚至可以在一对撇号'或引号内工作",除非用反斜杠转义\。
我可能会验证文件存在和文件权限,因为 sed 行工作得很好:
[root@hacklab5 ~]# cat /tmp/sed.org
dewed!Ddew!de
dewwe!ds!dewe
[root@hacklab5 ~]# sed 's/!/:/g' /tmp/sed.org
dewed:Ddew:de
dewwe:ds:dewe
[root@hacklab5 ~]# sed 's/!/:/g' /tmp/sed.org > /tmp/sed.new
[root@hacklab5 ~]# cat /tmp/sed.new
dewed:Ddew:de
dewwe:ds:dewe