cerca e rinomina e mv tutti i file da directory e sottodirectory
Oct 10 2020
ho molti file 30k directories, 21k filesall'interno di directory e sottodirectory di txtfile con lo stesso nome
├── cases__in_africa
│ ├── 2020/10/01.txt
│ ├── 2020/10/02.txt
│ ├── 2020/10/03.txt
│ └── 2020/10/04.txt
├── death_in_africa
│ ├── 2020/10/01.txt
│ ├── 2020/10/02.txt
│ ├── 2020/10/03.txt
│ └── 2020/10/04.txt
2926 directories, 21646 files
Voglio cercare tutti i file all'interno di molte sottodirectory e rinominarli con un altro nome univoco per spostarli in un'altra directory.
Questo comando non mostra i file duplicati
find . -name "*.txt" -exec mv "{}" ./all \;
Risposte
1218985 Oct 10 2020 at 14:19
Se stai cercando una denominazione sequenziale, puoi farlo in questo modo partendo dal presupposto che la directory di destinazione allesista nella tua directory corrente .:
for file in $(find ./ -type f -name "*.txt"); do ((count++)) ; mv $file ./all/${count}.txt; done
ben Oct 12 2020 at 14:38
lo trovo utile https://askubuntu.com/questions/1003554/how-to-rename-all-jpg-files-in-all-subdirs-wich-contains-dash-in-linux
find -name '*.txt' -exec bash -c 'mv "{}" "$RANDOM.txt"' \;