Shell脚本使用find命令先按目录文件的顺序获取文件列表,然后按子目录的顺序获取文件列表,依此类推

问题描述 投票:0回答:1

我正在尝试按顺序获取目录和子目录中的文件列表。如下所述。

#!/bin/sh
find /home/ -type f -name "*.txt" | sort -n

在我的脚本中,我得到的输出像:

/home/1_txt.txt 
/home/1_home/1.txt 
/home/2-txt.txt 
/home/2_home/1.txt 

但是我需要类似的输出>

/home/1_txt.txt 
/home/2-txt.txt 
/home/1_home/1.txt 
/home/2_home/1.txt 

我正在尝试按顺序获取目录和子目录中的文件列表。如下所述。 #!/ bin / sh查找/ home / -type f -name“ * .txt” | sort -n在我的脚本中,我得到如下输出:/ home / 1_txt ....

linux shell find
1个回答
0
投票

我认为sort不可能实现;但是,如果您的系统上安装了GAWK,则可以用find的输出填充数组,并使用自定义函数对其进行排序。例如:

© www.soinside.com 2019 - 2024. All rights reserved.