【发布时间】:2014-10-26 17:27:27
【问题描述】:
我有两个目录'dir1'和'dir2',我想输出这两个目录的所有内容。因此,我使用 bash 命令 'xargs' 仅通过一个命令行来实现。命令是“echo '1 2' | xargs -d ' ' -I @ -t sh -c 'cat dir@/*'”,但是结果很奇怪。
[u@10 /data1/walter]$ echo '1 2' | xargs -d ' ' -I @ -t sh -c 'cat dir@/*'
sh -c cat dir1/* <<<< This output is normal
1 <<<< This is all content in dir1
sh -c cat dir2
/* <<<< these two lines are odd, it looks like xargs insert a '\n' between 'dir2' and '/*'
cat: dir2: Is a directory <<<< as a result, 'cat' can't receive argument 'dir2'
sh: line 1: /bin: is a directory <<<< and command line '/*' is error
【问题讨论】:
-
尝试使用查找目录*。 Yon 可以访问 find 的手册页,以您想要的方式控制/格式化输出。