我有大约 100 个包含纯文本的 .txt 文件。不知何故,某些数据已损坏,需要查找/替换。
我需要搜索字符“--”并将其替换为长破折号:“--”。
有没有办法用终端中的命令快速做到这一点?
我的目录中的.txt文件的名称是按顺序编号的:1.txt、2.txt等。
谢谢!
GNU sed
:
sed -i 's/--/—/g' *.txt
OSX BSD sed
:
您需要指定备份文件扩展名。创建带有扩展名的备份文件.txt.bak
:
sed -i '.bak' 's/--/—/g' *.txt
要完全替换文件,请指定一个空扩展名:
sed -i '' 's/--/—/g' *.txt
sed -i 's/--/–/g' *.txt
应该工作。使其就地作用于文件的-i
标志,替代的代表,以及使其替换同一行上多次出现的模式。查看的文档以获取更多信息。sed
s
g
sed
编辑:这适用于 GNU/Linux;事实证明,OSX 上的语法略有不同(请参阅评论和接受的答案)。