ログファイルがたくさんあります。そのうちのいくつかは回転します。彼らの名前を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
バッシュの場合ksh
ls -ltr | while read _{1..9};do
((${#_9})) && echo "${_9}" >> "${_6}_${_7}.txt";
done