如何将文件列表从一个目录复制到另一个目录并动态修改目标文件名

如何将文件列表从一个目录复制到另一个目录并动态修改目标文件名

您能否提出一种将文件列表从一个目录复制到另一个目录的方法。

复制脚本时应将文件名的首字母大写,并将其他所有字母小写。

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

相关内容