Quindi la vera domanda è: qualcuno ha un'idea su come rimuovere M-BM-
un personaggio speciale senza rischiare di perdere altri personaggi?
Ho una stringa di testo:
" . . ."
questo è
space dot space dot space dot
Sto cercando di sostituire tutte le occorrenze di questa stringa nel file di testo a
"..."
questo è
dot dot dot
Stavo cercando di fare con sed:
sed -r 's:\s\.\s\.\s\.:...:g' -i sed-dots
Sfortunatamente, non cambia nemmeno un po 'il file di input. File: https://www.dropbox.com/s/46zmiruy3ln85a1/sed-dots
Quando provo a sostituire la stessa stringa nell'editor di testo (uso geany) viene trovata e sostituita correttamente.
L'unica ragione a cui riesco a pensare è che alcuni (o tutti) di quegli spazi non sono realmente spazi, ma alcuni caratteri speciali.
Qualcuno ha idea di come trovare e sostituire quella stringa con sed (o qualsiasi altro strumento da riga di comando)? Per favore prova la tua idea sul mio file, poiché il problema non è così ovvio come potrebbe sembrare - ecco perché l'ho chiesto.
Dopo aver usato cat -A
myfile sembra che quegli spazi non siano spazi, ma M-BM-
caratteri speciali. L'uso di qualsiasi simbolo .
suggerito per la ricerca non è una buona idea in quanto esiste il rischio che alcuni altri caratteri vengano rimossi.
echo
invece di catturare un file, almeno quando esegui il cat di un file, sai che la shell non sta interpretando nulla, e nemmeno l'eco.