如何按顺序列出文件?

如何按顺序列出文件?

我正在循环以下文件

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 |:将 的输出通过管道传输lssort命令。
  • sort -t. -k3:对 的输出进行排序ls
    • -t.:分隔符(“字段分隔符”)是.
    • -k3:我们从第三个字段开始排序,即lofar…

相关内容