如何將檔案清單從一個目錄複製到另一個目錄並動態修改目標檔案名

如何將檔案清單從一個目錄複製到另一個目錄並動態修改目標檔案名

您能否提出一種將檔案清單從一個目錄複製到另一個目錄的方法。

在複製過程中,腳本應將檔案名稱的第一個字母大寫,並將所有其他字母小寫。

答案1

供您考慮:

for i in *;
do
    fletter=`echo $i| cut -b 1`;                 # FIRST LETTER
    rest=`echo $i | cut -b 2-`;                  # THE REST
    fletter=`echo $fletter | tr "[a-z]" "[A-Z]"`;# CAPITILIZE FIRST LETTER
    rest=`echo $rest | tr "[A-Z]" "[a-z]"`;      # LOWER CASE THE REST
    cp "$i" "/target/directory/$fletter$rest" ;  # COPY TO DESTINATION
done

這裡,*將擴展到目前目錄中的檔案。如果您希望將其限制為文件僅考慮以下因素:

find . -type f -print0 | while IFS= read -r -d '' i; do
    # rest of the script
done

相關內容