找到:结合多个“ -exec”语句不适用于toybox / Android?

时间:2019-03-25 17:51:36

标签: android linux shell toybox

我正在尝试在运行Oreo / 8.0的Android手机上以及带Toybox 0.7.3-android的手机上弄清楚这一点。

我正在尝试获取文件夹内文件及其各自的mtime的列表。我正在运行以下命令:

find . -type f -exec stat -c %n {} \; -exec stat -c %y {} \;

find . -type f -exec stat -c %n "{}" \; -exec stat -c %y "{}" \;

在两种情况下,我只能从第一次调用“ stat”得到结果。我是否正在监督某事,或者这是toybox在Android上的工作方式?

1 个答案:

答案 0 :(得分:1)

如果toybox无法执行多个exec,则有其他选择。

在这种情况下,您也许可以只使用一个统计信息:

find . -type f -exec stat -c "$(echo -e "%n\n%y")" {} \;

# or just insert the newline verbatim in single quotes:
find . -type f -exec stat -c '%n
%y' {} \;

用于运行多个命令(假设路径不包含换行符):

find . -type f -print | while IFS= read -r f; do
    stat -c $n "$f";
    stat -c %y "$f";
done