拆分返回值后管道命令

时间:2012-12-06 01:12:59

标签: linux bash command-line

我正在使用find命令导致多行结果,然后我想将这些行中的每一行都输入到ls命令中并指定了-l选项。

find . -maxdepth 2  -type f |<some splitting method> | ls -l

我想在一个“命令”中执行此操作,并避免写入文件。

3 个答案:

答案 0 :(得分:2)

我相信这就是你要找的东西:

find . -maxdepth 2  -type f -exec ls -l {} \;

<强>解释

  • find . -maxdepth 2 -type f:查找maxdepth为2的文件
  • -exec ls -l {} \;对于找到的每个此类结果,请在其上运行ls -l; {}指定将查找结果替换为的位置。

答案 1 :(得分:1)

典型的方法是使用-exec

find . -maxdepth 2  -type f -exec ls -l {} \;

答案 2 :(得分:0)

听起来你正在寻找xargs。例如,在典型的Linux系统上:

find . -maxdepth 2  -type f -print0 | xargs -0 -n1 ls -l