我正在尝试查看一个名为Forever
的目录,其中包含带有Pure
,Mineral
的子目录,这些子目录充满了.csv
文件。我能够看到目录中的所有.csv
文件,但是我很难根据文件名的长度对它们进行排序。
关于当前目录,我在Forever
。所以我正在看两个子目录Pure
和Mineral
。
我所做的是:
find -name ".*csv" | tr ' ' '_' | sort -n -r
这只是按字母顺序对文件进行排序,而不考虑文件的长度。(我不得不截断文件的名称,因为它们之间有空格。)
答案 0 :(得分:1)
我认为这个答案比标记重复项更有用,因为它也考虑了子目录(被骗者没有):
find . -name '*.csv' -exec bash -c 'echo -e $(wc -m <<< $(basename {}))\\t{}' \; | sort -nr | cut -f2
使用fd -e csv -x ...
的FWIW对我来说要快很多(0.153秒与find的2.084秒)
即使basename删除了文件ext,也没关系,因为find确保所有文件都具有