如何根据日期列出日志的名称并将其放入文件中

如何根据日期列出日志的名称并将其放入文件中

我有一堆日志文件。其中一些是轮换的。假设我想将他们的名字放入 txt 文件中。

-rw-r-----   1 admin    staff    5120126 Apr 20 14:29 access.log00071
-rw-r-----   1 admin    staff    5121042 Apr 20 15:39 ccb_server12.log00021
-rw-r-----   1 admin    staff    5120069 Apr 20 16:58 access.log00072
-rw-r-----   1 admin    staff    5121929 Apr 21 11:35 ccb_server12.log00022
-rw-r-----   1 admin    staff    5126055 Apr 21 11:45 ccb_server12.log00023
-rw-r-----   1 admin    staff    5237640 Apr 21 11:46 ccb_server12.out00048
-rw-r-----   1 admin    staff    5120130 Apr 21 12:56 access.log00073
-rw-r-----   1 admin    staff    5120372 Apr 21 14:06 ccb_server12.log00024
-rw-r-----   1 admin    staff    5120055 Apr 21 15:33 access.log00074
-rw-r-----   1 admin    staff    5174157 Apr 21 15:40 ccb_server12.out00049
-rw-r-----   1 admin    staff    5120001 Apr 21 18:53 access.log00075
-rw-r-----   1 admin    staff    5120079 Apr 22 04:29 access.log00113
-rw-r-----   1 admin    staff    5120128 Apr 22 08:42 access.log00114
-rw-r-----   1 admin    staff    5120050 Apr 22 13:17 access.log00115
-rw-r-----   1 admin    staff    5120114 Apr 22 13:32 access.log00076

上面是我做的时候显示的日志ls -lrt 我尝试过的是ls -lrt | grep "Apr 22" > lognames.txt

所以我会在我的报告中得到这些日志的名称。另外我想补充一点,该机器运行在 Solaris 上。

还有其他办法吗?

答案1

对于 bash、ksh

ls -ltr | while read _{1..9};do 
    ((${#_9})) && echo "${_9}" >> "${_6}_${_7}.txt";
done

相关内容