2012-11-07 24 views
1

我想重新命名bash中的某些zip文件,但是我似乎缺少一些東西。有什麼建議麼??Bash shell:如何添加名稱

我的目標:

  • 將文件移動到一個原稿目錄
  • 重命名的名稱

代碼中的 「_orig」 原始文件伊夫試着寫:

mv -v $PICKUP/*.zip $ORIGINALS 
for origfile in $(ls $ORIGINALS/*.zip);do 
    echo "Adding _orig to zip file" 
    echo 
    added=$(basename $origfile '_orig').zip 
    mv -v $ORIGINALS/$origfile.zip $ORIGINALS/$added.zip 
done 

對不起,還是有點新。

回答

1

我知道你有一個解決方案了,但只是爲了子孫後代,你自己的shell腳本這個簡化版本也應該工作的情況下,你似乎描述:

mkdir -p "$ORIGINALS" 
for file in "$PICKUP"/*.zip; do 
    mv -v "$file" "$ORIGINALS/${file%.zip}_orig.zip" 
done 

這使得利用bash中的「Parameter Expansion」(你可以在bash的手冊頁中查看)。初始mkdir -p只是確保目標目錄存在。圍繞$PICKUP$ORIGINALS的引號旨在使安全在目錄名稱中包含空格和換行符等特殊字符。

雖然prename是許多問題的強大解決方案,但它絕對不是工具箱中唯一的錘子。