![如何使用 sed 从 unix shell 中的文件中删除正斜杠?](https://linux22.com/image/205700/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20sed%20%E4%BB%8E%20unix%20shell%20%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6%E4%B8%AD%E5%88%A0%E9%99%A4%E6%AD%A3%E6%96%9C%E6%9D%A0%EF%BC%9F.png)
我有以下文件:
/
/FUSE
//
Bank S.A / N.V
/F
我想删除全部正斜杠 ( /
),结果如下所示:
FUSE
Bank S.A N.V
F
如何使用 来做到这一点sed
?我尝试过使用tr
,但这tr
不是我需要的,因为我想就地编辑文件而不将其打印到控制台。
答案1
您可以tr
为此使用:
$ tr -d '/' < file
FUSE
Bank S.A N.V
F
要保存输出,只需重定向到一个新文件:
tr -d '/' < file > file.fixed
答案2
/
使用与表达式不同的分隔符sed
,例如:
:
sed 's:/::g' file
删除所有内容/
,无论它们位于线上的哪个位置。
如果要替换现有文件,请使用,意思是“就地”,后面可以跟一个扩展名来备份旧文件,例如,这将保留名为并修改的-i
旧文件的副本:file.old
file
sed -i.old 's:/::g' file
答案3
您还可以这样使用 sed:
sed --in-place 's/\///g' file
您只需要求sed
用空白空间替换模式 / 即可。