Linux tree 指令列出樹狀目錄的常用參數

【緣起】
最近為將資料夾暨內容重新歸類整理,須用到 tree 指令繪出目錄樹以便參照,因為不常用到這個指令,特此紀錄常用參數。

【需求】
因必須列示完整目錄樹,但又要跳過某些資料夾,並且將結果寫入文字檔供隨時查看。依 man tree 內容說明,需要用到:
-d 僅列示目錄樹,不列示檔案;
-I 跳過指定資料夾名稱不列表;
 | 符號用以連用幾種參數表示;
> 符號用以將執行結果由螢幕顯示轉向至指定之新文件。

【說明】


-d     List directories only.

-P pattern
      List  only  those files that match the wild-card pattern.  Note:
      you must use the -a option to also consider those  files  begin‐
      ning  with a dot `.' for matching.  Valid wildcard operators are
      `*' (any zero or more characters), `?' (any  single  character),
      `[...]'  (any single character listed between brackets (optional
      - (dash) for character  range  may  be  used:  ex:  [A-Z]),  and
      `[^...]'  (any  single character not listed in brackets) and `|'
      separates alternate patterns.

-I pattern
      Do not list those files that match the wild-card pattern.

【指令】

tree -d -I "DIR_A|DIR_B" > list.txt

【後記】
因整理需時,為方便隨時使用,故將上列指令寫成 script 執行文件。

#!/bin/bash
## 列出目錄樹並寫入文字檔
tree -d -I "DIR_A|DIR_B" > list.txt

稍後又因另有所用,再改用變數表示。

#!/bin/bash
## 列出目錄樹並寫入文字檔
nolistd="DIR_A|DIR_B"
tree -d -I "$nolistd" > list.txt

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *