ls 命令 - 将输出行切换到列

Lim*_*ith -1 command-line ls

有什么办法可以改变输出ls吗?通常ls会显示如下内容:

something something1 something2 something3 

something4 something5 something6 something7
Run Code Online (Sandbox Code Playgroud)

我希望它是这样的:

1. something        5. something4
2. something1       6. something5
3. something2       7. something6
4. something3       8. something7
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的命令来处理这种情况,而不使用循环和多行代码?

muc*_*lux 5

ls -C按列对当前目录中的文件进行排序。此外,您可以使用 限制输出的宽度-wls -x按行对输出进行排序。(man ls给你很多其他选择。)

所以在你的例子中:

$ ls
something   something2  something4  something6
something1  something3  something5  something7
$ ls -x                                         # different ordering
something   something1  something2  something3
something4  something5  something6  something7
$ ls -C                                         # same as ls
something   something2  something4  something6
something1  something3  something5  something7
$ ls -C -w 30                                   # same as ls -w 30
something   something4
something1  something5
something2  something6
something3  something7
Run Code Online (Sandbox Code Playgroud)

顺便说一句:您问题中给出的输出当然不是 的输出ls -l,而是ls


小智 5

要获得 2 个编号的列,请尝试:

ls | pr -2Tn
Run Code Online (Sandbox Code Playgroud)