我需要将每次出现的 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