Freebsd

帶有 ls 和遞歸的 FreeBSD 自然排序

  • May 5, 2021

Ubuntu我可以很容易地進行自然排序的遞歸搜尋。一個簡單的ls -1Rv將僅以自然排序列出所有子目錄的文件名。一個範例輸出是:

.:
test4
tmp2
tmp3

./tmp2:
test1
test2

./tmp3:
test3

它列出目前內容,然後遍歷每個目錄。一切都很好地分開。

隨著選項FreeBSD-v存在。當我沒有子目錄時,我可以進行ls -1 | sort -n自然排序。但是,現在我有管道進入的子目錄sort -n不能很好地工作。ls -1R | sort -n可以預見的分類成一個巨大的列表。一個範例輸出是:

./tmp2:
./tmp3:
test1
test2
test3
test4
tmp2
tmp3

我們有一個巨大的列表,而不是每個子目錄在其自己的列表中分隔。無論如何,是否可以從我可以列出的地方複製ls功能並分別對每個列表進行排序?Ubuntu``FreeBSD``FreeBSD

我的搜尋找到了這樣的主題但是它們都使用管道方法並且似乎沒有談論子目錄會發生什麼。我還閱讀了FreeBSD ls 手冊,但它沒有提到自然排序。我也沒有在FreeBSD 排序手冊中看到任何有用的資訊。

您可能認為它作弊,但您可以安裝:

安裝:

pkg install lsd
pkg install coreutils

引用自:https://unix.stackexchange.com/questions/648065