Rename
根據使用名稱列表重命名多個文件
我正在嘗試根據名稱列表重命名多個編號文件。
例子:
1.pdf, 2.pdf, …, n.pdf
還有一個名為 的文件
names.txt
,每行有一個值:Fabio Joao n-name
所以我們會有
1.pdf
→Fabio.pdf
2.pdf
→Joao.pdf
n.pdf
→n-name.pdf
關於如何做到這一點的任何想法?
如果文件真的只是“lineNumber.pdf”,那麼這很容易做到。在外殼中:
c=0 while IFS= read -r name; do ((c++)) echo mv -- $c.pdf "$name.pdf" done < names.txt
一旦您確定它可以按您的意願工作,請
echo
從mv
命令中刪除 。如果您有很多文件,您可能需要考慮在 Perl 中執行它,這樣會更快:
perl -lne 'rename("$..pdf","$_.pdf")' names.txt