我通常在文件名中包含一个日期,以便在我使用ls命令时按时间顺序列出文件和目录,例如2015-08-29_letter_to_santa.txt.
一个缺点是制表符完成受到阻碍。对于上面的例子,如果我想打开给圣诞老人的信,我首先需要知道日期,然后才能快速完成文件名的其余部分。当许多文件名以日期开头时,这很烦人。
我希望能够为文件命名,letter_to_santa.2015-08-29.txt但仍然ls输出按文件名中出现的日期排序的文件。关于如何实现这一目标并同时保留ls产生的彩色输出的任何想法?
为了具体起见,我们假设文件名符合格式basename.date.extension并且.在文件名中恰好使用了两次。
尝试
ls | sort -t. -k2 | while read f
do
ls "$f"
done
Run Code Online (Sandbox Code Playgroud)
我假设你有普通的 unix 文件,名称中没有有趣的字符。