如何获取不同行中的文件名列表

时间:2011-03-01 14:14:15

标签: unix ls

我想获取目录中所有文件的列表,例如ls,以便每个文件名都在单独的行上,而不需要ls -l提供的额外详细信息。我查看ls --help并没有找到解决方案。我试着做了

ls -l | cut --fields=9 -d" "

ls在列之间不使用固定数量的空格。有关如何做到这一点的想法,最好是一行吗?

10 个答案:

答案 0 :(得分:242)

ls -1

这是一个数字,不小L

答案 1 :(得分:21)

ls -1。来自帮助:

  

-1每行列出一个文件

适用于cygwin和FreeBSD,所以它可能不是特定于GNU的。

答案 2 :(得分:11)

没有管道的解决方案: - )

 ls --format single-column

请注意,只有GNU coreutils支持长选项,其中BSD ls仅支持短参数-1

答案 3 :(得分:6)

也许:

ls | awk '{print $NF}'

答案 4 :(得分:4)

ls | cat ... 或者可能是ls -1

答案 5 :(得分:3)

使用sed命令列出单列

ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'

答案 6 :(得分:3)

试试这个:

$ ls | xargs -n num

此处num是您要列出的列数。

答案 7 :(得分:1)

首先你可以使用它。它将每行显示一个文件。

ls -l | sed's /(。*)(。*)$ / \ 2 /'

或者你可以使用

找到。 -maxdepth 1 | sed's /.///'

事情都是一样的。

答案 8 :(得分:0)

这也可以

ls -l | awk '{print $NF}'

答案 9 :(得分:0)

这也有效: echo -e“\ n $(ls)”