2017-07-26 206 views
-2

我想換一種方式通過基於前兩列中的.txt文件shell或Perl腳本,重命名文件夾的Linux看起來牛逼重命名文件夾Shell或Perl腳本,從文本文件

rename_folders.sh或.PL

:文本文件 rename.txt

current_dir1  new_dir1 
current_dir2  new_dir2 
current_dir3  new_dir3 
... 
current_dir50 new_dir50 

然後殼/ Perl腳本將創建一個基於什麼在列表中的所有MV的命令運行另一個文件示例

#!/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 
+2

問題是什麼結果呢? –

+0

你能向我們展示你所做的一切嗎?那麼你會有一個合法的問題。 – zdim

+0

這是一個腳本,而不是像'rename'這樣的工具? –

回答

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.txtdone <rename.txt>somefile.sh將會寫入所有命令這是echo