# xing @ xing-Manjaro in ~/tmp [14:49:14]
$ ll
总用量 0
drwxr-xr-x 2 xing xing 6 7月 3 14:21 a1
drwxr-xr-x 2 xing xing 6 7月 3 14:21 b1
# xing @ xing-Manjaro in ~/tmp [14:49:16]
$ ls -l | sed -n '/^d/p' | awk '{print $9}' | awk '{system("cp -rf "$0" file |xargs -n1")}'
# xing @ xing-Manjaro in ~/tmp [14:49:31]
$ ll file
总用量 0
drwxr-xr-x 2 xing xing 6 7月 3 14:49 b1
通过上面awk命令调用system来处理复制,明明有a1和b1两个文件夹但复制后只有b1文件夹存在,a1没有,请教大家这个是那里出现问题
awk system函数处理复制问题
-
- 帖子: 94
- 注册时间: 2010-01-08 13:09
- astolia
- 论坛版主
- 帖子: 6533
- 注册时间: 2008-09-18 13:11
Re: awk system函数处理复制问题
你这个命令执行了两次cp
第一次是 cp -rf a1 file,由于file不存在,所以把a1复制为file,file里的内容就是a1里的内容
第二次是 cp -rf b1 file,由于file存在,所以把b1复制到file下面
第一次是 cp -rf a1 file,由于file不存在,所以把a1复制为file,file里的内容就是a1里的内容
第二次是 cp -rf b1 file,由于file存在,所以把b1复制到file下面
-
- 帖子: 94
- 注册时间: 2010-01-08 13:09
-
- 帖子: 94
- 注册时间: 2010-01-08 13:09
Re: awk system函数处理复制问题
翻了一些资料,自己写了一段代码搞定
ls -l |awk '{if($11!="data"){print $11}}END{system("mkdir data")}' |awk '{system ("cp -rf "$0" data")}'
ls -l |awk '{if($11!="data"){print $11}}END{system("mkdir data")}' |awk '{system ("cp -rf "$0" data")}'
- astolia
- 论坛版主
- 帖子: 6533
- 注册时间: 2008-09-18 13:11