Поэтому актуальный вопрос: есть ли у кого-нибудь идея, как удалить 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
вместо catting файл, по крайней мере, когда вы cat cat файл, вы знаете, что оболочка ничего не интерпретирует, и ни один не эхо.