Usando find
+ rename
:
find . -type f -exec rename -n 's/\t{2,}/\t/g' {} \;
-
find
: pesquisa uma hierarquia de diretórios -
.
: pesquisa o diretório de trabalho atual -
-type f
: pesquisa apenas arquivos -
-exec [...] {} [...] \;
: executa um comando em cada resultado; -
rename
: renomeia arquivos ou diretórios -
-n
: executa uma execução a seco -
s/\t{2,}/\t/g
: substitui qualquer número de ocorrências de 2 ou mais tabulações por uma única tabulação;
Se o resultado for o esperado, remova a opção -n
.
Exemplo de saída ( 1
= \t
):
% tree
.
├── 1
│ ├── 111111
│ ├── 111112
│ ├── 111113
│ ├── 112111
│ ├── 112112
│ ├── 112113
│ ├── 113111
│ ├── 113112
│ └── 113113
├── 2
│ ├── 211111
│ ├── 211112
│ ├── 211113
│ ├── 212111
│ ├── 212112
│ ├── 212113
│ ├── 213111
│ ├── 213112
│ └── 213113
└── 3
├── 311111
├── 311112
├── 311113
├── 312111
├── 312112
├── 312113
├── 313111
├── 313112
└── 313113
3 directories, 27 files
% find . -type f -exec rename 's/\t{2,}/\t/g' {} \;
% tree
.
├── 1
│ ├── 11111
│ ├── 11112
│ ├── 11113
│ ├── 11211
│ ├── 11212
│ ├── 11213
│ ├── 11311
│ ├── 11312
│ └── 11313
├── 2
│ ├── 21111
│ ├── 21112
│ ├── 21113
│ ├── 21211
│ ├── 21212
│ ├── 21213
│ ├── 21311
│ ├── 21312
│ └── 21313
└── 3
├── 31111
├── 31112
├── 31113
├── 31211
├── 31212
├── 31213
├── 31311
├── 31312
└── 31313
3 directories, 27 files