2014-02-10 48 views
0

我正在嘗試創建一個副本並重命名文件腳本。這是我到目前爲止。在Bash中複製和重命名腳本

read COPYDIR 

read DESTINATION 

for file in `ls $COPYDIR`;do  
    if [ -f $COPYDIR/$file ]; then  
    cp $file $DESTINATION 
    fi  
done 

我試圖給複製的文件添加一個.bak擴展名。我如何將這個添加到腳本中?

回答

1

你不需要解析ls的輸出。你可以這樣做:

for file in "$COPYDIR"/*; do 
    f="${file##*/}" 
    [[ -f "$file" ]] && cp "$file" "$BAK_DEST_DIR1/$f.bak" 
done 
+2

你需要獲取$文件的基本名稱才能工作。 –

+2

'$ {file ## * /}'應該可以工作 –

+0

謝謝我剛剛發佈了同樣的內容:) – anubhava