ディレクトリツリーを作成するために必要なスクリプトを作成しています。
tree
無視するディレクトリのリストと一緒に変数を渡すには?これらのディレクトリには名前にスペースがあります。
私は次のことを試しました:
tree -o /volume1/web/eb.html -T "List" --charset UTF-8 -C -I "$to_ignore" -P '*pdf' --prune --noreport /volume1/docs
to_ignore
スクリプトによって他の場所で作成されたディレクトリのリストがあります。
'dir1|dir2|dir with space|dir4'
しかし、それはうまくいきませんでした。スペースがあるディレクトリでは競合が発生します。
さて、変数の周りに引用符を使用すると、競合が発生するのに役立ちますが、tree
pdfファイルが必要なディレクトリも印刷され、リストから無視されます。コマンドから直接無視するディレクトリを作成すると、奇妙にもうまくtree ...
機能します。
答え1
変数を引用:
$ tree foo
foo
├── bar foo
│ └── blah
├── baz
│ └── blah
├── foo
├── foo bar
│ └── blah
└── yada
8 directories, 0 files
$ to_ignore='yada|bar foo|baz'
$ tree foo -I "$to_ignore"
foo
├── foo
└── foo bar
└── blah
3 directories, 0 files