要更新签名,/boot
我想使用 find (GNU findutils) 4.6.0。
我知道我可以循环并检查签名是否与 gpg 匹配,但我想知道如何-newer
在同一目录中使用 find with 并以某种方式使用当前匹配的模式来测试 file.img 是否不比 file 新。 img.sig。这很容易做到吗?
即类似:
sigs=(`find /boot -type f -iname '*.sig'`)
for sig in ${sigs[@]}; do
file=${sig%*.sig}
find /boot -type f -name "$file" -newer /boot -type f -name "$sig"
done
答案1
带结果的循环find
通常可以替换为find -exec
:
尝试这样的事情,
find /boot -type f -iname '*.sig' \
-exec sh -c 'find /boot -name "${1%.sig} -newer "$1"' sh {} \;