Linux

如何“就地”重命名嵌套路徑中的文件,即無需重新輸入完整路徑?

  • May 12, 2020

我發現自己經常需要重命名mv深層目錄中的不同文件:

mv /a/long/path/to/a/file.txt /a/long/path/to/a/file.txt.bak

但我不想重新輸入完整的路徑名。有沒有我可以使用的快速速記或別名?IE:

$ mv /a/long/path/to/a/file.txt file.txt.bak
$ ls /a/long/path/to/a/file.txt.bak
a/long/path/to/a/file.txt.bak

(注意:這是為了在不同時間在不同目錄中簡單的單個文件重命名,而不是批量重命名

使用大括號展開

mv /a/long/path/to/a/file.txt{,.bak}

/a/long/path/to/a/file.txt這會將空後綴重命名為/a/long/path/to/a/file.txtwith suffix .bak

雖然我可能會使用大括號擴展,如Freddy 的回答中所示,但兩者都bash可以zsh使用互動式歷史擴展,使用指示符#$來引用目前行上迄今為止鍵入的最後一個單詞:

mv /a/long/path/to/a/file.txt !#$.bak

引用自:https://unix.stackexchange.com/questions/586018