![如何按顺序列出文件?](https://linux22.com/image/130777/%E5%A6%82%E4%BD%95%E6%8C%89%E9%A1%BA%E5%BA%8F%E5%88%97%E5%87%BA%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我正在循环以下文件
J0139+5814.2015-02-15-55:52.lofar4.ar.pscr
J0139+5814.2015-02-15-15:46.lofar2.ar.pscr
J0139+5814.2015-02-15-15:46.lofar3.ar.pscr
J0139+5814.2015-02-15-15:47.lofar1.ar.pscr
循环之后,我想按顺序列出它们:
J0139+5814.2015-02-15-15:47.lofar1.ar.pscr
J0139+5814.2015-02-15-15:46.lofar2.ar.pscr
J0139+5814.2015-02-15-15:46.lofar3.ar.pscr
J0139+5814.2015-02-15-55:52.lofar4.ar.pscr
以这种方式列出它们后,我将能够对它们应用我的条件。
请注意,我只关心文件名中的 lofar1、lofar2、lofar3 和 lofar4 部分(文件名的其他部分可能不同,但这对我来说并不重要,我只需要使用列出它们lofar1,2,3,4) 部分。一旦我把它们按顺序设置好,就这样了。
答案1
ls | sort -t. -k3
-t。表示用句号(美国句点)分隔可能的排序键
-k3 表示按第三个键“字段”排序,即您的 lofar*
答案2
$ ls | sort -t. -k3
J0139+5814.2015-02-15-15:47.lofar1.ar.pscr
J0139+5814.2015-02-15-15:46.lofar2.ar.pscr
J0139+5814.2015-02-15-15:46.lofar3.ar.pscr
J0139+5814.2015-02-15-55:52.lofar4.ar.pscr
解释
ls |
:将 的输出通过管道传输ls
到sort
命令。sort -t. -k3
:对 的输出进行排序ls
。-t.
:分隔符(“字段分隔符”)是.
-k3
:我们从第三个字段开始排序,即lofar…