我可以使用 xargs 作为目录路径的一部分吗?
Can I use xargs as part of a directory path?
我有这个目录结构:
% ls /tmp/source_dir/
aa-aa/ bb-bb/ cc-cc/ morejunk/ somejunk/
% ls /tmp/dest_dir
aa-aa/ bb-bb/ blah/ blahblah/
对于 dest_dir 中匹配 ??-?? 的每个目录,我想从 source_dir 复制一个对应的文件 "goodfile"。我尝试了以下无济于事:
% cd /tmp/dest_dir
/tmp/dest_dir% \ls -d ??-?? | xargs cp /tmp/source_dir/{}/goodfile {}
cp: cannot stat `/tmp/source_dir/{}/goodfile': No such file or directory
cp: cannot stat `{}': No such file or directory
cp: omitting directory `aa-aa'
/tmp/dest_dir% \ls -d ??-?? | xargs bash -c "cp /tmp/source_dir/{[=11=]}/goodfile {[=11=]}"
cp: cannot stat `/tmp/source_dir/{/bin/bash}/goodfile': No such file or directory
当然有一种方法可以做到这一点而无需编写单独的脚本吗?
这个 xargs
应该有效:
cd /tmp/dest_dir
\ls -d ??-?? | xargs -I{} cp /tmp/source_dir/{}/goodfile {}
另一个没有 xargs 的解决方案
find . -iname "??-??" -exec cp goodfile "{}" \;
我有这个目录结构:
% ls /tmp/source_dir/
aa-aa/ bb-bb/ cc-cc/ morejunk/ somejunk/
% ls /tmp/dest_dir
aa-aa/ bb-bb/ blah/ blahblah/
对于 dest_dir 中匹配 ??-?? 的每个目录,我想从 source_dir 复制一个对应的文件 "goodfile"。我尝试了以下无济于事:
% cd /tmp/dest_dir
/tmp/dest_dir% \ls -d ??-?? | xargs cp /tmp/source_dir/{}/goodfile {}
cp: cannot stat `/tmp/source_dir/{}/goodfile': No such file or directory
cp: cannot stat `{}': No such file or directory
cp: omitting directory `aa-aa'
/tmp/dest_dir% \ls -d ??-?? | xargs bash -c "cp /tmp/source_dir/{[=11=]}/goodfile {[=11=]}"
cp: cannot stat `/tmp/source_dir/{/bin/bash}/goodfile': No such file or directory
当然有一种方法可以做到这一点而无需编写单独的脚本吗?
这个 xargs
应该有效:
cd /tmp/dest_dir
\ls -d ??-?? | xargs -I{} cp /tmp/source_dir/{}/goodfile {}
另一个没有 xargs 的解决方案
find . -iname "??-??" -exec cp goodfile "{}" \;