因此,实际的问题是-有谁知道如何删除M-BM-
特殊字符而不冒失去其他字符的危险?
我有一串文字:
" . . ."
那是
space dot space dot space dot
我正在尝试将文本文件中所有出现的字符串替换为
"..."
那是
dot dot dot
我正在尝试使用sed:
sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots
不幸的是,它一点也不改变输入文件。文件:https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots
当我尝试在文本编辑器中替换相同的字符串(我使用geany)时,找到并正确替换了它。
我能想到的唯一原因是这些空间中的某些(或全部)不是真正的空间,而是某些特殊字符。
有谁知道如何用sed(或任何其他命令行工具)查找和替换该字符串?请在我的文件上测试您的想法,因为问题并不像看起来的那么明显-这就是为什么我问这个问题。
使用cat -A
myfile之后,似乎这些空间不是空格而是M-BM-
特殊字符的问题。.
建议使用任何建议的符号进行搜索不是一个好主意,因为可能会删除某些其他字符。
echo
而不是添加文件,至少当您添加一个文件时,您知道该外壳程序没有解释任何内容,而且回声也没有。