だから実際の質問は-誰かが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
ファイルをcatする代わりにを使用することをお勧めすることに驚いています。少なくともファイルをcatするときは、シェルが何も解釈せず、エコーもありません。