Como posso corresponder espaço em branco no sed? Nos meus dados, desejo corresponder a todos os três caracteres de espaço em branco subsequentes (espaço de tabulação) e substituí-los por 2 espaços. Como isso pode ser feito?
sed
whitespace
Peter Smit
fonte
fonte
sed
eu tive que usar[[:space:]]
porque\s
não funcionou para mim. Talvez\s
seja uma extensão GNU sed ?[[:space:]
um poderia usar o[[:blank:]]
que corresponde apenas a abas horizontais e espaços (mas nenhuma nova linha, aba vertical etc.).Isso funciona no MacOS 10.8:
fonte
sed "s/[[:space:]]\+/ /g"
corresponder a um ou mais espaços.-E
bandeira.Algumas versões mais antigas do sed podem não reconhecer \ s como um símbolo de espaço em branco correspondente. Nesse caso, você pode combinar uma sequência de um ou mais espaços e tabulações com '[XZ] [XZ] *' onde X é um espaço e Z é uma tabulação.
fonte
fonte
sed
ou sistema? Caso contrário, vale a pena mencionar onde isso funciona da mesma maneira que as outras respostas, apenas para conhecermos as limitações e onde isso pode não ter o resultado pretendido.