我怎么调不出来一个显示目录树的程序,晕!!!!!!!!!!!!
发表于:2007-06-09来源:作者:点击数:
标签:
[这个贴子最后由南非蜘蛛在2002/06/0601:04pm编辑] 这是程序,在 linux 下可以,到solaris下就不行了,大家看看有什么错误 #!/bin/sh #dtree:Usage:dtree[anydirectory] dir=${1:-.} (cd$dir;pwd) find$dir-typed-print|sort-f|sed-es,^$1,,-e/^$/d-es,[^/]*/([
[这个贴子最后由南非蜘蛛在 2002/06/06 01:04pm 编辑]
这是程序,在
linux下可以,到solaris下就不行了,大家看看有什么错误
#!/bin/sh
# dtree: Usage: dtree [any directory]
dir=${1:-.}
(cd $dir; pwd)
find $dir -type d -print | sort -f | sed -e "s,^$1,," -e "/^$/d" -e "s,[^/]*/([^/]*)$,`----1," -e "s,[^/]*/,| ,g"
# ./tree
/home/ghost
./tree: ----1,: 没找到
sed: 命令错乱:s,[^/]*/([^/]*)$,
因该出来一些结果
.
`----shellp
`----updates
`----wu-ftpd-2.4
| `----doc
| | `----examples
| `----src
| | `----config
| | `----makefiles
| `----support
| | `----makefiles
| | `----man
| `----util
ultra-guest 回复于:2002-06-06 15:29:22
|
[这个贴子最后由ultra-guest在 2002/06/06 03:49pm 编辑]
不错。 #!/bin/sh # dtree: Usage: dtree [any directory] dir=${1:-.} (cd $dir; pwd) find $dir -type d -print | sort -f | sed -e "s,^$1,," -e "/^$/d" -e "s,[^/]*/([^/]*)$, ----1," -e"s,[^/]*/,| ,g"
不过没`----了。。
|
mathon 回复于:2002-06-06 17:25:55
|
那是因为`是特殊字符,要用\转义的。我将此程序重新改写了一下, 我用|代替了`。 其中中间的几字空格是TAB键而不是多个空格。 当然还有可改进的地方。如最后一行的首个|不应该再有。
dir=${1:-.} cd $dir;pwd=`pwd`;echo $pwd find $pwd -type d|sort -f|sed -e "s,^$pwd,," -e "/^$/d" -e "s,[^/]*/\([^/]*\)$,|----\1," -e "s,[^/]*/,+ ,g" -e "s, +, ,g" -e"s,+,|,g"
|
南非蜘蛛 回复于:2002-06-06 18:01:39
|
[这个贴子最后由南非蜘蛛在 2002/06/06 06:02pm 编辑]
酷哥,你真有一套,佩服佩服 好像就是有一点没有对齐,能不能在调一下
|
原文转自:http://www.ltesting.net