我想使用tree
模拟awk
命令,它以递归方式显示所有目录,如下所示:
|____
| |____0
| |____b
| |____c
| | |____a
| | |____w
我使用sed
:
find ./ -type d -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
但我怎样才能使用awk
?
答案 0 :(得分:3)
你没有表现出任何写东西的尝试,但我做了一些事情,所以我告诉你我的解决方案。期待这可以帮助你学习一些awk。
find ./ -type d -print | awk -F "/" '{for (i=1; i<=NF-2; i++){printf "| "} print "|____"$NF}'
这个awk命令用作分隔符&#34; /&#34; (-F选项)。
并且,对于每行打印&#34; | &#34;字段数(NF)减去2的时间。 最后打印&#34; | _ &#34;你的最后一个领域($ NF)。