ls 输出的非标准排序

ls 输出的非标准排序

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

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

我希望能够将文件命名为类似的名称letter_to_santa.2015-08-29.txt,但仍然ls输出按文件名中出现的日期排序的文件。有什么想法可以实现这一点,同时保留ls产生的彩色输出吗?

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

答案1

尝试

 ls | sort -t. -k2 | while read f
 do
    ls "$f"
 done

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

相关内容