将具有特定名称的文件复制到相应的目录

时间:2018-04-04 10:33:08

标签: shell unix

我在UNIX中有一个源目录,下面是文件 20180401abc.txt,20180402acb.txt,20180402def.txt

并且在目标中有20180401,20180402等目录

如何将20180401abc.txt移至20180401&分别为20180402acb.txt,20180402def.txt至20180402目录。

使用以下代码,

ls /home/source/ > filelist.txt
for line in `cat filelist.txt`
do
dir_path=`echo $line|cut -c1-8`
mkdir -p "/home/target/${dir_path}"
find /home/source/ -type f -exec cp {} /home/target/${dir_path} \;
done
#rm filelist.txt

3 个答案:

答案 0 :(得分:0)

只需使用以下脚本,它就可以解决您的问题: -

 ls /home/source/ > filelist.txt

 while read filename
 do
     dir_name=$(echo $line | cut -c1-8 )
     dir_path="/home/target/"$dir_name
     mkdir $dir_path
     chmod 666 $dir_path
     mv $filename $dir_path
 done < filelist.txt
 rm -rf filelist.txt

答案 1 :(得分:0)

var myElement = document.getElementById("calOp_date_debut_0");
myElement.id = "calOp_date_debut_12"
//if needed
myElement.name = "calOp_date_debut_12"

答案 2 :(得分:0)

下面列出的代码正在运行:

for filename in `ls /home/source/`
do
dir_name=$(echo $filename | cut -c1-8)
dir_path="/home/target/${dir_name}"
mkdir -p $dir_path
cp /home/source/$filename $dir_path
done