使用數字模式搜尋資料夾中的文件

使用數字模式搜尋資料夾中的文件

我在下面給出了 find 命令來查找並列出資料夾中的所有文件,文件按字母順序列出,但我想以數字模式列出所有文件。當我使用“-number”代替“-name”時,它不起作用。

find . -type f -name '*'
I100001093
I200001093
I300001093
XB00001093
I100001094
I200001094
I300001094
XB00001094
I100001095
I200001095
I300001095
XB00001095

任何人都可以建議我按數字順序列出的正確命令。

答案1

根據您希望如何處理I等等X部分,您也許可以只使用sort以下命令:

find . -type f | sort -n

如果這不是您想要的排序順序,您必須向我們提供更多詳細資訊(最好向我們展示您的範例中所需的輸出)。

假設您要將名稱的開頭分組在一起,我們可以指定要排序的關鍵欄位。由於 find 的輸出將以./{id}批次中相關的接下來兩個字元(看似)開始,因此我們可以從指定排序鍵的行上的第 5 個字元開始排序:

find . -type f | sort -n -k 1.5

-kfor sort 允許您指定要排序的鍵,這裡我們對第一個欄位進行排序,但從第 5 個字元開始,然後使用-n數字排序

如果您只需要目前目錄,可以使用-maxdepth如下所示:

find . -maxdepth 1 -type f | sort -n -k 1.5

如果你想讓它便攜:

find . -path '*/*/*' -prune -o -type f | sort -n -k 1.5

相關內容