Linux 使用bash查找文件的不同开头

Linux 使用bash查找文件的不同开头,linux,bash,Linux,Bash,我有一个包含n个文件的目录,所有文件都以yyyymmdd格式的日期开始 例如: 20210208_bla.txt 20210208_bla2.txt 20210209_bla.txt 我想知道某个日期有多少个文件,所以输出应该如下所示: 20210208 112 20210209 96 202102102213 或者至少在我的文件夹中找到实际文件的不同开头(=不同的日期) 谢谢一个非常简单的解决方案是: ls | cut -f 1 -d _ | sort -n | uniq -c 通过您的示

我有一个包含n个文件的目录,所有文件都以yyyymmdd格式的日期开始

例如:

20210208_bla.txt
20210208_bla2.txt
20210209_bla.txt

我想知道某个日期有多少个文件,所以输出应该如下所示:

20210208 112
20210209 96
202102102213

或者至少在我的文件夹中找到实际文件的不同开头(=不同的日期)


谢谢

一个非常简单的解决方案是:

ls | cut -f 1 -d _ | sort -n | uniq -c
通过您的示例,可以得出:

 2 20210208
 1 20210209

更新:如果需要交换两列,可以按照以下步骤操作:

其中打印:

20210208 2
20210209 1

好办法。用于交换的
awk
命令可以简化,因为我们知道只有两列:
awk{print$1”“$2}
@Socowi感谢您的评论,这显然是一个更好的解决方案!谢谢!:)
20210208 2
20210209 1