Com find
e rename
:
$ find . -mindepth 3 | rename -n 's:([^/]+)/:$1:'
./folder10/folder10/blah10 -> ./folder10/blah10
./folder9/folder9/blah9 -> ./folder9/blah9
./folder8/folder8/blah8 -> ./folder8/blah8
./folder7/folder7/blah7 -> ./folder7/blah7
./folder6/folder6/blah6 -> ./folder6/blah6
./folder5/folder5/blah5 -> ./folder5/blah5
./folder4/folder4/blah4 -> ./folder4/blah4
O regex ([^/]+)/
corresponde ao texto que é repetido e tem um /
entre (assim, folder4/folder4
, etc.). A substituição é apenas a parte que foi repetida (portanto, apenas folder4
).
A opção -n
mostra apenas quais alterações serão feitas. Se as alterações parecerem corretas, execute-as sem realmente executar as alterações.