[bash]查找指定目录下符合格式的txt文件

时间:2022-09-02 04:33:48

需求:

查找指定目录下符合yyyy-MM-dd(-b)NNN.txt格式的文件,如“2020-03-22-b888.txt”

目标目录内容:

[root@localhost bashs]# ll /root/testfolder
total
-rw-r--r--. root root Mar : ---b123.txt
-rw-r--r--. root root Mar : ---b123.txt
drwxr-xr-x. root root Mar :
drwxr-xr-x. root root Mar : ---b001
drwxr-xr-x. root root Mar : ---b001
drwxr-xr-x. root root Mar : ---b001
drwxr-xr-x. root root Mar : ---b001
-rw-r--r--. root root Mar : ---b123.txt
drwxr-xr-x. root root Mar : ---b001
-rw-r--r--. root root Mar : ---b123.txt
drwxr-xr-x. root root Mar : -
drwxr-xr-x. root root Mar : archive
-rw-r--r--. root root Mar : a.txt
drwxr-xr-x. root root Mar : backup
-rw-r--r--. root root Mar : b.txt

期待结果:

---b123.txt  ---b123.txt  a.txt
---b123.txt

代码:

#!/bin/bash

function findFilesUnder(){
folder=$ for file in `find $folder -type f -regextype 'posix-egrep' -regex $folder+'/[0-9]{4}-[0-9]{2}-[0-9]{2}-b[0-9]{3}.txt$'`;
do
echo $file
done
} findFilesUnder "/root/testfolder"

执行结果:

[root@localhost bashs]# sh files.sh
/root/testfolder/2020-03-22-b123.txt
/root/testfolder/2020-03-21-b123.txt
/root/testfolder/2019-03-21-b123.txt
/root/testfolder/2015-04-15-b123.txt
[root@localhost bashs]#

--2020年3月22日--