我正在尝试通过基于.txt文件中前两列的shell或perl脚本来重命名Linux中的文件夹:
文本文件示例 rename.txt
current_dir1 new_dir1
current_dir2 new_dir2
current_dir3 new_dir3
...
current_dir50 new_dir50
然后shell / Perl脚本将根据列表中的内容创建另一个包含所有mv命令的文件:
rename_folders.sh或.pl
#!/bin/ksh
mv /home/pete1/current_dir1 /home/pete1/new_dir1
mv /home/pete1/current_dir2 /home/pete1/new_dir2
mv /home/pete1/current_dir3 /home/pete1/new_dir3
........
mv /home/pete1/current_dir2 /home/pete1/new_dir2
答案 0 :(得分:0)
#!/usr/bin/env bash
folder_path="/home/pete1/"
while read -r oldname newname; do
# remove echo if happy with result
# if you remove echo it will rename
echo mv "$folder_path/$oldname" "$folder_path/$newname";
done < rename.txt
如果您将done < rename.txt
设为done < rename.txt >somefile.sh
,则会写出echo