Как я могу переименовать файл по другому пути, не меняя текущий каталог и не записывая путь дважды? [дубликат]

Например, я хочу переименовать tif / fat / tul / codes / MyCode.pl в TheCode. pl в том же каталоге. В настоящее время я знаю, что могу использовать это:

mv tif/fat/tul/codes/MyCode.pl tif/fat/tul/codes/TheCode.pl

, но это требует от меня повторения ввода полного пути (может раздражать, если путь довольно длинный)

или я могу использовать

cd mv tif/fat/tul/codes/
mv MyCode.pl TheCode.pl

. Недостаток в том, что я должен ввести 2 команд, и менять текущий каталог во многих случаях нежелательно.

Есть ли более эффективный способ сделать это?

1
задан 5 February 2018 в 23:24

2 ответа

Еще одна вещь, которую вы можете сделать, это открыть другую оболочку (например, bash) в вашей текущей, cd в каталоге файла, а затем mv. Затем вы просто закрываете оболочку с помощью Ctrl + D (которая возвращается в ваш предыдущий каталог).

0
ответ дан 5 February 2018 в 23:24
find /path/to/dir/ -iname MyCode.pl -execdir mv MyCode.pl TheCode.pl

/path/to/dir - это путь к каталогу, в который вы хотите переименовать файлы.

Примечание. При этом будут переименованы все файлы в каталоге /path/to/dir/ и его подкаталоге.

0
ответ дан 5 February 2018 в 23:24

Другие вопросы по тегам:

Похожие вопросы: