我有大约1000个各种文件扩展名的文件。我还有一个制表符分隔的文本文件,其中包含oldname和新文件名并排列。例如:
old new
file1 entirely_new_name_for_file_1
file2 entirely_new_name_for_file_2
file3 entirely_new_name_for_file_3
如何使用shell脚本批量重命名所有这些文件?
答案 0 :(得分:4)
如果你已经将它们放在文件中,那么运行这样的循环:
while read old new; do
mv "$old" "$new"
done < "file"
答案 1 :(得分:1)
您也可以使用HEREDOC:
while read old new; do
mv $old $new
done <<___HERE
file1 entirely_new_name_for_file_1
file2 entirely_new_name_for_file_2
file3 entirely_new_name_for_file_3
___HERE
答案 2 :(得分:0)
这是另一种方法。我不会自己使用它,感觉很危险:
sed 's/^/mv /' filename | sh
如果第一行实际上是标题,那么sed '1d;s/^/mv /'