-1

重複の可能性:
すべてのディレクトリをツリーのように再帰的にリストします

次の形式のようにすべてのディレクトリを再帰的に表示するtreeコマンドを使用してシミュレートしたいと思います。awk

|____
| |____0
| |____b
| |____c
| | |____a
| | |____w

そして私はそれを使って作りましたsed

find ./ -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

しかし、どうすればそれを使用できawkますか?

4

1 に答える 1

3

あなたは何かを書く試みを見せませんが、私は何かを作ったので、あなたに私の解決策を見せます。これを期待することはあなたがいくつかのawkを学ぶのを助けることができます。

find ./ -type d -print | awk -F "/" '{for (i=1; i<=NF-2; i++){printf "| "} print "|____"$NF}'

このawkコマンドは、区切り文字「/」(-Fオプション)として使用します。

そして、各行に対して、フィールド数(NF)から2を引いた回数だけ「|」を出力します。最後に、最後のフィールド($ NF)が続く「| _ 」を出力します。

于 2013-01-10T18:40:20.470 に答える