我有两个文件夹
带有三个子文件夹的113482797
63265746
36424846
57382349
带有三个子文件夹的[116377462
75847872
37389421
10348837
我想用最小的文件夹名称更改目录。
我的代码是
for d in [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9];
do ( cd "$d" &&
for x in [0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9];
do (cd "$x" && ls -l);
done );
done
这可以解决问题:
cd $(find ./113482797/ -mindepth 1 -type d |sort -n |head -1)
所以您将cd
放入./113482797/36424846
目录。
使用awk
的简单示例:
cd 113482797 && cd "$(ls | awk 'BEGIN{prev=$0+0}{if(prev<($0+0)){prev=($0+0)}}END{print prev}')"
由于此脚本包含cd
,因此应使用source script.sh
来调用它,否则(例如sh script.sh
)cd命令将无法工作,因为它创建了执行该脚本的子外壳。