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

我希望获得一个目录中所有文件的列表,就像 ls一样,这样每个文件名都在一个单独的行上,而不需要 ls -l提供额外的细节。我查看了 ls --help,没有找到解决方案。我试过了

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

但是 ls并不在列之间使用固定数量的空格。你知道怎么做吗,最好是一条线?

69484 次浏览

也许:

ls | awk '{print $NF}'

ls | cat ... 也可能是 ls -1

ls -1

那是个数字,不是小 L

不用管道的溶液: -)

 ls --format single-column

注意,长选项只在 GNU 核心组件上受支持,而 BSD 是只支持短参数 -1

来自帮手:

-1列出每行一个文件

可以在 cygwin 和 FreeBSD 上工作,所以可能不是特定于 GNU 的。

使用 sed 命令列出单列

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

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

Ls-l | sed’s/(. *)(. *) $/2/’

否则你可以这样使用

- maxdeep 1 | sed’s/.///’

两者都是一样的。

试试这个:

$ ls | xargs -n num

这里的 num是要列入的列数。

这个也可以

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

这也是工作: 回声-e“ n $(ls)”