xargs在搜索中尊重通配符

时间:2012-06-18 16:48:28

标签: bash xargs

我有一个名为file1.txt的文件:

dir1
dir2
dir3
...

我想使用xargs检查文件系统中是否存在某些文件,如下所示:

 cat file1.txt | xargs -i ls  /projects/analysis7/{}/meta_bwa/hg19a/*varFilter 2>/dev/null

但是xargs似乎永远不够聪明,无法扩展*。即,即使它们与模式匹配(如果*被扩展),它也永远不会找到文件。

有什么想法吗?

1 个答案:

答案 0 :(得分:9)

您只需添加sh -c

 cat file1.txt | xargs -i sh -c 'ls  /projects/analysis7/{}/meta_bwa/hg19a/*varFilter' 2>/dev/null