ls 输出的非标准排序

Dus*_*yte 5 ls sort output

我通常在文件名中包含一个日期,以便在我使用ls命令时按时间顺序列出文件和目录,例如2015-08-29_letter_to_santa.txt.

一个缺点是制表符完成受到阻碍。对于上面的例子,如果我想打开给圣诞老人的信,我首先需要知道日期,然后才能快速完成文件名的其余部分。当许多文件名以日期开头时,这很烦人。

我希望能够为文件命名,letter_to_santa.2015-08-29.txt但仍然ls输出按文件名中出现的日期排序的文件。关于如何实现这一目标并同时保留ls产生的彩色输出的任何想法?

为了具体起见,我们假设文件名符合格式basename.date.extension并且.在文件名中恰好使用了两次。

Arc*_*mar 1

尝试

 ls | sort -t. -k2 | while read f
 do
    ls "$f"
 done
Run Code Online (Sandbox Code Playgroud)

我假设你有普通的 unix 文件,名称中没有有趣的字符。