如何在单行中使用多个bash命令

时间:2016-03-21 02:55:18

标签: linux unix

OS:Linux RedHat

Bash:3.5

下面我有2个命令来获取具有状态的文件列表和另一个脚印命令。 我想找到将它们组合在一起的方法。

这是我提到的命令。

  1. find "$PWD" -type f ! -iname '*thumbs.db*' -print0 | xargs -0 stat -c "%y %s %n"

  2. find "$PWD" -type f -print0 | xargs -0 sha1sum -b

2 个答案:

答案 0 :(得分:1)

这会有用吗?在man上执行xargs

find $PWD -type f ! -iname '*thumbs.db*' -print0 | xargs -0 -I '{}' sh -c 'stat --printf "%y %s %n " {} ; sha1sum -b {}'

如果您不希望文件名重复两次:

find $PWD -type f ! -iname '*thumbs.db*' -print0 | xargs -0 -I '{}' sh -c 'stat --printf "%y %s %n " {} ; sha1sum -b {} | cut -d\  -f1'

d\命令cut之后需要有2个空格。

答案 1 :(得分:0)

您可以在find命令本身中使用-exec执行此操作。

find $PWD -type f ! -iname '*thumbs.db*' -exec stat -c "%y %s %n" {} \; -exec sha1sum -b {} \;