Come abbinare gli spazi bianchi in sed?
Come posso abbinare gli spazi bianchi in sed? Nei miei dati voglio abbinare tutti i 3+ caratteri successivi dello spazio bianco (spazio della scheda) e sostituirli con 2 spazi. Come si può fare?
Come posso abbinare gli spazi bianchi in sed? Nei miei dati voglio abbinare tutti i 3+ caratteri successivi dello spazio bianco (spazio della scheda) e sostituirli con 2 spazi. Come si può fare?
La classe di caratteri \s corrisponderà ai caratteri degli spazi bianchi <tab> e <space>.
Ad esempio:
$ sed -e "s/\s\{3,\}/ /g" inputFile
sostituirà ogni sequenza di almeno 3 spazi bianchi con due spazi.
REMARK: Per la conformità POSIX, usare la classe di caratteri [[:space:]] invece di \s, poiché quest'ultima è un'estensione GNU sed. Vedere le specifiche POSIX per sed e BREs
Questo funziona su MacOS 10.8:
sed -E "s/[[:space:]]+/ /g"
Alcune versioni più vecchie di sed potrebbero non riconoscere le \x22s come un gettone di corrispondenza di spazio bianco. In questo caso è possibile abbinare una sequenza di uno o più spazi e schede con ‘[XZ][XZ]*’ dove X è uno spazio e Z è una scheda.