gpt4 book ai didi

android - bash 列出所有目录,子目录,文件夹,子文件夹然后输出到一个单独的文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:06:57 24 4
gpt4 key购买 nike

我正在尝试创建两个非常相似的脚本。一个脚本是列出目录中的所有文件,然后是子目录、子目录的子目录,等等,直到没有更多的目录,然后将信息输出到一个日志文件,其路径名从我开始的目录开始.另一个脚本与上面的完全相同,但我需要它列出这些目录和子目录中的所有文件,而不是目录。我还需要从我开始的目录开始的路径名。但是,它们都需要在单独的日志文件中输出。

我需要在与 android 兼容的 sed 命令或 bash 命令中执行此操作。

/system/表示我要启动的目录

这仅输出/system/中的目录并成功生成日志文件:

LOG_FILE=/data/local/log.log;
for d in /system/*; do [[ -f "$d" ]] || echo "$d" "$d"| tee -a $LOG_FILE; done

这只输出/system/中的文件并成功生成日志文件:

LOG_FILE=/data/local/log.log;
for f in /system/*; do [[ -d "$f" ]] || echo "$f" "$f"| tee -a $LOG_FILE; done

不幸的是,我在这里或其他任何地方搜索以找到正确执行此操作的方法都没有成功。我几乎可以肯定我不能在我正在使用的 Android 系统中递归地完成它。我认为我必须以有限的方式使用 sed 和 bash。

如有任何帮助,我们将不胜感激。

编辑:所以我忘了补充一点,我需要按照下面的方式在文件中每一行的开头和结尾添加行,但我需要进行上述更改。

LOG_FILE=/local/log.log;
tmp1="cp"
tmp2=tmp
tmp3=test
for f in /system/*; do [[ -d "$f" ]] || echo $tmp1 $tmp2/$tmp3"$f" "$f"| tee -a $LOG_FILE; done

所以它会像这样输出,/system/file.txt 是我需要复制的路径(用“$f”表示):

cp tmp/test/system/file.txt system/file.txt
cp tmp/test/system/file2.txt system/file2.txt

最佳答案

这应该适用于目录:

find /system/ -type d -print > $LOG_FILE

这应该会为您提供文件列表:

find /system/ -type f -print > $LOG_FILE

关于android - bash 列出所有目录,子目录,文件夹,子文件夹然后输出到一个单独的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38280060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com