这个问题是Output of ZipArchive() in tree format问题的一般化版本。像输出一样将`find`类似输出转换为`tree`
我在写这篇(* nix的命令行)工具浪费时间就在,这将是一个好主意,找出是否有人已经写的。我想一个实用工具,将获得作为其标准输入列表如tree(1)
例如,由find(1)
和将输出一个类似的东西返回的一个:
输入:
/fruit/apple/green
/fruit/apple/red
/fruit/apple/yellow
/fruit/banana/green
/fruit/banana/yellow
/fruit/orange/green
/fruit/orange/orange
/i_want_my_mommy
/person/men/bob
/person/men/david
/person/women/eve
输出
/
|-- fruit/
| |-- apple/
| | |-- green
| | |-- red
| | `-- yellow
| |-- banana/
| | |-- green
| | `-- yellow
| `-- orange/
| |-- green
| `-- orange
|-- i_want_my_mommy
`-- person/
|-- men/
| |-- bob
| `-- david
`-- women/
`-- eve
用法应该是这样的:
list2tree --delimiter="/" <Input> Output
Edit0:看来我是不太清楚这个练习的目的。我喜欢树的输出,但我希望它可以用于任意输入。它可能不是任何文件系统名称空间的一部分。
编辑1:固定person
分支在输出。谢谢,@Alnitak。
找到它输出将是不可靠的,除非你安排输入文件的目录后有'/'。否则,过滤器将无法区分空目录和文件。附:你搞乱了树的“人”分支...... – Alnitak 2010-12-12 08:54:30
“树”(例如'树-F')有什么问题? – 2010-12-12 09:02:28
澄清@ ring0的优秀评论:http://mama.indstate.edu/users/ice/tree/ – nc3b 2010-12-12 09:04:41