如何获取不同行中的文件名列表
我想得到一个目录中的所有文件的列表,比如ls
,这样每个文件名都将在一个单独的行中,而不需要ls -l
提供的额外的细节。 我看着ls --help
,并没有find解决办法。 我试过了
ls -l | cut --fields=9 -d" "
但是ls
在列之间不使用固定数量的空格。 任何想法如何做到这一点,最好在一行?
ls -1
这是一个数字,不是小L
ls -1
。 从帮助:
-1每行列出一个文件
适用于cygwin和FreeBSD,所以它可能不是GNU特有的。
解决scheme,无需pipe道:-)
ls --format single-column
请注意,只有在BSD ls只支持短参数-1
的GNU coreutils上才支持长选项
也许:
ls | awk '{print $NF}'
ls | cat
ls | cat
…或者可能, ls -1
使用sed命令列出单个列
ls -l | sed 's/\(^[^0-9].\*[0-9]\*:[0-9]\*\) \(.*\)/\2/'
尝试这个:
$ ls | xargs -n num
这里num
是你想列出的列数。
首先你可以使用这个。 它会显示每行一个文件。
ls -l | sed's /(.*)(。*)$ / \ 2 /'
否则你可以这样使用
找 。 -maxdepth 1 | sed的/.///'
两件事情都是一样的。
这也会做
ls -l | awk '{print $NF}'