Remova todos os espaços em branco de um diretório

Odeio quando as pessoas enviam espaços em branco em uma base de código? Por que não matar tudo? Definitivamente, há uma maneira de fazer isso, sed(1)mas este é meu fluxo de trabalho preferido.

Primeiro, encontre todos os arquivos dentro do seu diretório atual:

find . -type f
#We don't care about directories

Em seguida, transforme essa saída em uma única linha, lista delimitada por espaço

find . -type f  | tr "\n" " " 
#Turn all newline characters into a space

Agora temos uma lista de arquivos que podemos canalizar para o vi (m)

find . -type f  | tr "\n" " " | xargs vim
#Start vim with the arglist populated with all of our files

Depois que o vim for carregado, você pode executar um comando sobre todos os arquivos que acabou de fornecer:

:argdo

Em nosso caso, queremos remover o espaço em branco à direita de cada documento:

:argdo %s/s+$//

Como queremos salvar as alterações que fizemos, também podemos dizer ao vim para escrever estes arquivos:

:argdo %s/s+$// | w

Eu também não me importo com os arquivos onde nenhum espaço em branco foi encontrado, passo o sinalizador “e”

:argdo %s/s+$//e | w
#See :help :s_flags for more info

Finalmente, se você não se importa quais arquivos foram alterados, você pode chamar silencioso antes do comando

:silent argdo %s/s+$//e | w

Espero que isso ajude alguém!