2

Допустим, у меня есть длинное имя файла, например longfilename . И ради краткости предположим, что "longfilename" на самом деле намного длиннее и сложнее для ввода. В любом случае, я хочу переименовать его в long12345filename из командной строки. В настоящее время я знаю о запуске команды

mv longfilename long12345filename

Однако в этом примере лучшее, что я могу сделать, это набрать mv long[tab] long12345filename ... В основном много ручного набора текста. Разве нет способа отредактировать имя файла, указав текущее имя файла и переместив курсор туда, куда вы хотите вставить / удалить новые символы?

3 ответа3

2

Если вы используете bash, и у вас есть правило для преобразования имени файла, которое вы можете четко сформулировать (например, вставить 12345 после первого g), вы можете сделать

mv longTab !#:$:s/g/g12345/

Слова начинаются с ! ссылки на историю.  !# относится к текущей команде (пока).  :$ означает последнее слово в строке, поэтому после mv longfilename !#:$ относится к longfilename .  И , :s/old/replacement/ простой поиск и замена.

1

Я бы предложил использовать файловый менеджер для командной строки, например:

Полуночный командир

Последний файловый менеджер

Vifm

0

Лично я делаю это итеративным способом, который работает, но я уверен, что есть лучший способ.

mv long[tab][enter] (отображает ошибку, пропущенный операнд)

[up arrow][cntrl+e][space]!$ (отображает ошибку, тот же файл)

[up arrow] теперь у вас есть mv longfilename longfilename в командной строке, и вы можете перемещать курсор туда, куда хотите, и редактировать на месте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .