Shell或Perl脚本,用于重命名文本文件

时间:2017-07-26 19:18:50

标签: linux bash shell perl

我正在尝试通过基于.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

1 个答案:

答案 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

结果的所有命令