Substituir espaços e tabulações no final da linha em todos os arquivos

2

Eu preciso substituir todos os espaços indesejados em todos os arquivos do diretório atual e dos diretórios do diretório atual (pesquisa recursiva).

Eu defino os espaços indesejados nos espaços e guias que estão no final da linha e não são seguidos por nenhum outro caractere que não seja \n (o novo caractere de linha).

por exemplo:

This is a line with unwanted spaces    
        // this line is supposed to contain only spaces
Another line without unwanted spaces
Another line with unwanted spaces     

Este snippet se tornará:

This is a line with unwanted spaces

Another line without unwanted spaces
Another line with unwanted spaces

Como posso remover todos os espaços indesejados de todos os arquivos (pesquisa recursiva) do diretório atual?

    
por Ionică Bizău 01.01.2014 / 12:05

1 resposta

2

Algo como o seguinte deve atender às suas necessidades:

find -type f -exec sed -i 's/[[:blank:]]\+$//' {} \;

Note que a opção -i do sed não é segura com links simbólicos - isso irá quebrá-los. Se isso for um problema, considere usar ed ou ex .

    
por 01.01.2014 / 12:25