當我製作乳膠文檔時,會創建具有相同基本名稱但擴展名不同的多個文件。 如果我想重命名原始文件,我還必須重命名文件夾中的每個其他文件。重命名所有具有相同基本名稱的文件
有沒有辦法做到以下幾點?
mv file_basename.* file_newname.[whatever was globbed]
當我製作乳膠文檔時,會創建具有相同基本名稱但擴展名不同的多個文件。 如果我想重命名原始文件,我還必須重命名文件夾中的每個其他文件。重命名所有具有相同基本名稱的文件
有沒有辦法做到以下幾點?
mv file_basename.* file_newname.[whatever was globbed]
讓我們考慮與這些文件的目錄:
$ ls
file_basename.a file_basename.b file_basename.c
現在,讓我們請運行perl rename
實用程序來重命名文件:
$ prename 's/file_basename/file_newname/' *
$ ls
file_newname.a file_newname.b file_newname.c
正如你可以看到所有的文件有新的名字。
prename
,有時也叫rename
,是perl包的一部分。
請注意,某些Linux發行版默認安裝了不同且不兼容的版本。如果您有其中之一,上述命令將不起作用。有關哪些發行版附帶prename
或如何將其安裝到您的發行版的更多信息,請參閱here。
這裏有一個簡單的bash腳本,它是(我們稱之爲rename-prefix
):
#!/bin/bash
basename="$1"
newname="$2"
for file in "$basename"*; do
mv -iv -- "$file" "$newname${file#$basename}"
done
它必須從文件所在的目錄執行。你這樣運行:
rename-prefix file_basename. file_newname.