로그 파일이 많이 있습니다. 그 중 일부는 회전됩니다. 그들의 이름을 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