在某个目录下查找文件,并在查找到的文件对应的目录下复制为另一个文件名。
如当前的目录结构为:
./a/b/1.txt
./a/c/1.txt
希望脚本执行后得到的目录结构为:
./a/b/1.txt
./a/c/1.txt
./a/b/2.txt
./a/c/2.txt

解决方案 »

  1.   

    dir1=`find -name 1.txt`|awk 'NR==1{print $1}`
    dir2=`find -name 1.txt`|awk 'NR==2{print $1}`cp $dir1 `echo $dir1|awk '{gsub("1","2");print}'`
    cp $dir2 `echo $dir1|awk '{gsub("1","2");print}'`我只能想到这种方法了
      

  2.   

    find 目录 -name,指定目录下查询
      

  3.   

    for x in `find ./a  -name "*.txt" ` 
    do
     F_NAME=`echo $x|awk -F '/' '{print $NF}'`
     N_NAME="new_${F_NAME}"
     F_PATH=`echo $x|sed  "s/$f_name//"`
     cp "${F_PATH}${F_NAME}" "${F_PATH}${N_NAME}"
    done
      

  4.   

    find / -name "文件名" -exec cp -r {} /复制到哪个目录下 \;