Linux 文件和路径列表分隔符:

Linux 文件和路径列表分隔符:,linux,bash,terminal,find,command,Linux,Bash,Terminal,Find,Command,我需要列出文件夹/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/

我需要列出文件夹/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
这是因为用户通常会在不应该使用斜杠的情况下在文件名中使用斜杠。

这里有一个建议:

find /path* | sed 's/\//:/g' 

两者都能满足您的要求。

这里有一个建议:

find /path* | sed 's/\//:/g' 


这两个都可以满足您的要求。

在Linux下甚至不可能创建名为
/
的文件。这些文件是在OS X中创建的,苹果用户无法理解您不应该在文件名中使用这些符号和许多其他符号。因此,尽管我一直在努力教育,但总会有人这样做。即使在OSX中,我认为尝试在文件或文件夹名称中使用
/
确实会创建一个使用
代替
/
的文件系统条目。Finder在其元数据中保留了
/
-版本,但文件系统本身禁止
/
。在Linux下,甚至不可能创建名为
/
的文件。这些文件是在OS X中创建的,苹果用户无法理解不应该在文件名中使用这些符号和许多其他符号。因此,尽管我一直在努力教育,但总会有人这样做。即使在OSX中,我认为尝试在文件或文件夹名称中使用
/
确实会创建一个使用
代替
/
的文件系统条目。查找程序在其元数据中保留了
/
-版本,但文件系统本身禁止
/
。您所说的“它不能工作”是什么意思
find | sed
find | tr
都可以在这里工作,没有临时文件。@tripleee我只是试试,它也可以,我会更改答案。谢谢你提到这一点。这很有效。非常感谢你你说的“不行”是什么意思
find | sed
find | tr
都可以在这里工作,没有临时文件。@tripleee我只是试试,它也可以,我会更改答案。谢谢你提到这一点。这很有效。非常感谢你