【发布时间】:2012-10-15 10:07:38
【问题描述】:
我发现了
ls -AF /var/ |grep \/$
帮助我在没有更多信息的情况下从目录中查找所有目录。 现在我需要完全相反 - 显示所有文件而没有任何进一步的信息,只是每行中的文件名
file1
file2
file3
并过滤目录,因为那些 - 我不需要
【问题讨论】:
-
@piokuc 在这种情况下,
ls的联机帮助页将如何提供帮助?
我发现了
ls -AF /var/ |grep \/$
帮助我在没有更多信息的情况下从目录中查找所有目录。 现在我需要完全相反 - 显示所有文件而没有任何进一步的信息,只是每行中的文件名
file1
file2
file3
并过滤目录,因为那些 - 我不需要
【问题讨论】:
ls 的联机帮助页将如何提供帮助?
只需使用-v 开关grep 来反转匹配:
ls -AF /var/ |grep -v /$
【讨论】:
或者使用查找:
find -maxdepth 1 -type f /var/
【讨论】:
-maxdepth 必须在 -type 之前,并且它没有给出 OP 想要的(只显示没有路径的文件名)
path 不是强制性的,但在-type 之前需要-maxdepth
为了查找匹配某个表达式的文件,存在find。它的手册页非常好,还包括一些有趣的例子。仅获取您可以使用的目录的文件:
find /var -maxdepth 1 -type f -printf "%f\n"
【讨论】:
ls -1Ap /var/ | grep -v /
与@choroba 的回答类似,但此版本将在每一行列出干净的文件名如果您不想要它们,则不会附加额外的分类指示符。
-p 标志将 / 附加到目录
-1 标志对于每行列出一个文件总是很方便
【讨论】:
最简单的方法:它不是 L 它的数字 - 1
$ ls -1
【讨论】: