【发布时间】:2023-03-06 07:26:02
【问题描述】:
我需要你的帮助来通过 awk 解析目录信息。 通过下面的输入,我可以获得每行的完整目录名和文件名吗? 即目录结构不同,目录数量没有规定。
输入(文件路径列表)
/dir1/filename
/dir1/dir2/filename
/dir1/dir2/dir3/filename
/dir5/dir2/dir4/filename
输出(目录名和文件名之间可以有任何空格)
/dir1/ filename
/dir1/dir2/ filename
/dir1/dir2/dir3/ filename
/dir5/dir2/dir4/ filename
【问题讨论】:
-
这是作业吗?你试过什么?
-
“输入”是一个包含文件路径列表的文件,还是您只是向我们展示您的目录结构?如果是前者,那么你可以使用 awk,如果是后者,那么它是 shell 的工作,而不是 awk,你应该使用
find+basename或类似的。 -
你一定需要使用awk吗?对于
dirname和basename来说,这看起来是个完美的工作。否则,“文件名”(它可能是一个目录,除非你真的做了一个统计,否则你无法知道,这不是真正的 awk 事情)是最后一个“/”之后的东西(比如match("$0, (/[^/]+)/([^/]+)$", a然后从 a) 中选择开始/长度。 -
我应该用目录名和文件名拆分它,然后将它放入数据库中。之后,我将使用该信息来连接其他表。我需要使用awk。你能告诉我如何使用 Awk 来实现吗?谢谢。
标签: awk