2

我正在使用一个 find 命令,该命令会产生多行结果,然后我想将这些行中的每一行通过指定的 -l 选项通过管道传输到一个 ls 命令中。

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

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

4

3 回答 3

2

我相信这就是您正在寻找的:

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

解释:

  • find . -maxdepth 2 -type f: 查找 maxdepth 为 2 的文件
  • -exec ls -l {} \;对于找到的每个这样的结果,运行ls -l它;{}指定 find 的结果将被替换到哪里。
于 2012-12-06T01:14:52.067 回答
1

典型的方法是使用-exec

find . -maxdepth 2  -type f -exec ls -l {} \;
于 2012-12-06T01:15:18.900 回答
0

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

find . -maxdepth 2  -type f -print0 | xargs -0 -n1 ls -l
于 2012-12-06T01:16:55.327 回答