我想获取目录中所有文件的列表,例如ls
,以便每个文件名都在单独的行上,而不需要ls -l
提供的额外详细信息。我查看ls --help
并没有找到解决方案。我试着做了
ls -l | cut --fields=9 -d" "
但ls
在列之间不使用固定数量的空格。有关如何做到这一点的想法,最好是一行吗?
答案 0 :(得分:242)
ls -1
这是一个数字,不小L
。
答案 1 :(得分:21)
ls -1
。来自帮助:
-1每行列出一个文件
适用于cygwin和FreeBSD,所以它可能不是特定于GNU的。
答案 2 :(得分:11)
答案 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)”