我通常在文件名中包含日期,以便在使用命令时按时间顺序列出文件和目录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 文件,名称中没有有趣的字符。