In Linux a volte rinominare i file in questo modo:
mv dir1/dir2/dir3/file.txt dir1/dir2/dir3/file.txt.old
Nota che voglio solo rinominare il file, non spostarlo in un'altra directory.
Esiste un comando che mi consentirebbe di eseguire una versione abbreviata di quel comando? Sto pensando a qualcosa del tipo:
mv dir1/dir2/dir3/file.txt file.txt.old
o forse anche qualcosa del genere (per aggiungere semplicemente al nome):
mv dir1/dir2/dir3/file.txt {}.old
Il mio obiettivo non è di dover specificare nuovamente il percorso completo.
So che quegli "esempi" che ho scritto non funzionano, ma è solo un'idea di ciò che voglio realizzare.
Non voglio dover accedere alla directory.
(cd dir1/dir2/dir3 && exec mv file.txt{,.old})
ha effettivamente le stesse prestazioni del codice senza il sottoprocesso, perché exec
evita l' fork()
ing durante l'invocazione del comando esterno, quindi si ha esattamente un fork in entrambi i modi.