Regex 批处理列表中两列的文件名文件
我有大约1000多个不同文件扩展名的文件。我还有一个以制表符分隔的文本文件,在并排列中包含旧名称和新文件名。例如:Regex 批处理列表中两列的文件名文件,regex,bash,perl,awk,sed,Regex,Bash,Perl,Awk,Sed,我有大约1000多个不同文件扩展名的文件。我还有一个以制表符分隔的文本文件,在并排列中包含旧名称和新文件名。例如: old new file1 entirely_new_name_for_file_1 file2 entirely_new_name_for_file_2 file3 entirely_new_name_for_file_3 如何使用shell脚本批量重命名所有这些文件 如果文件中已经有它们,则运行如下循环: while read old new;
old new
file1 entirely_new_name_for_file_1
file2 entirely_new_name_for_file_2
file3 entirely_new_name_for_file_3
如何使用shell脚本批量重命名所有这些文件 如果文件中已经有它们,则运行如下循环:
while read old new; do
mv "$old" "$new"
done < "file"
读新旧时;做
mv“$old”“$new”
完成<“文件”
如果文件中已经有它们,则运行如下循环:
while read old new; do
mv "$old" "$new"
done < "file"
读新旧时;做
mv“$old”“$new”
完成<“文件”
您也可以使用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
读新旧时;做
mv$旧$新
完成您也可以使用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
读新旧时;做
mv$旧$新
完成这里是另一种方法。我自己不会用它,这感觉很危险:
sed 's/^/mv /' filename | sh
如果第一行实际上是标题,则sed'1d;s/^/mv/'
这里有另一种方法。我自己不会用它,这感觉很危险:
sed 's/^/mv /' filename | sh
如果第一行实际上是标题,则sed'1d;s/^/mv/'
完成。工作完美。我自己花了两个小时才让它工作。但我认为这是值得的:0并且完成了。工作完美。我自己花了两个小时才让它工作。但我认为这是值得的:0