【发布时间】:2016-11-29 02:03:30
【问题描述】:
我需要列出文件夹/cd/dvd 的文件夹结构,但我需要显示路径和文件名。我可以使用 find 命令来做到这一点:
find /path*
但不是通常的 / 作为分隔符,我需要分隔符是:
所以当我在文件夹上使用 find 时,我会得到以下输出:
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-CMYK-Background-Small.ai
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-PMS-Background-Simple-Small.ai
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-PMS-Background-Small.ai
2D/Resource/2011 Brand-Guidelines/1664/Logos/1664/Small/K1664-PMS-Simple-Small.ai
但我需要它像这样显示输出:
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-CMYK-Background-Small.ai
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-PMS-Background-Simple-Small.ai
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-PMS-Background-Small.ai
2D:Resource:2011 Brand-Guidelines:1664:Logos:1664:Small:K1664-PMS-Simple-Small.ai
这是因为用户通常会在不应该使用的文件名中使用斜杠。
【问题讨论】:
-
在 Linux 下创建一个名称中带有
/的文件甚至都不应该可能。 -
这些文件是在 OS X 中创建的,Apple 用户无法理解您不应该在文件名中使用这些符号和许多其他符号。因此,尽管我努力教育,总会有人这样做。
-
即使在 OS X 中,我认为尝试在文件或文件夹名称中使用
/确实会创建一个使用:代替/的文件系统条目。 Finder 在其元数据中保留/-version,但文件系统本身禁止/。
标签: linux bash terminal find command