xargs在搜索中尊重通配符

lon*_*r21 3 bash xargs

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

dir1
dir2
dir3
...
Run Code Online (Sandbox Code Playgroud)

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

 cat file1.txt | xargs -i ls  /projects/analysis7/{}/meta_bwa/hg19a/*varFilter 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

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

有任何想法吗?

Igo*_*bin 10

你只需要添加sh -c:

 cat file1.txt | xargs -i sh -c 'ls  /projects/analysis7/{}/meta_bwa/hg19a/*varFilter' 2>/dev/null
Run Code Online (Sandbox Code Playgroud)