grep 및 .log 파일에서 추출하여 쉘에 쉘 명령으로 붙여넣기

grep 및 .log 파일에서 추출하여 쉘에 쉘 명령으로 붙여넣기

확장명이 있는 디렉터리에 파일 목록이 있고 .gz동일한 목록에 대해 를 사용하여 동일한 파일 이름을 가져와야 하며 사용할 명령을 준비할 수 있도록 디렉터리에서 전체 파일 목록을 검색해야 합니다 grep.final.logname.gz.DONEgreptouch -d.gz.DONE

예:

VIC_sentine_1153690_20220503_153250_0000.psv.gz
VIC_sentine_1151176_20220504_153250_0000.psv.gz
VIC_sentine_175390_20220505_153250_0000.psv.gz

.log파일 에서 .

grep내가 할 때

a=VIC_sentine_1153690_20220503_153250_0000.psv.gz

cat ~/final.log | grep $a | grep DONE | cut -d '/'  -f 7 | head -n 1

알겠어요 VIC_sentine_1153690_20220503_153250_0000.psv.gz.20220523081154.DONE

수동으로 생성한 디렉터리에서 .DONE동일한 타임스탬프를 가진 파일을 사용하여.gz

touch -d "2022-05-03 21:04:00.000000000" VIC_sentine_1153690_20220503_153250_0000.psv.gz.20220523081154.DONE

하지만 디렉토리에는 200개의 파일이 있습니다.

.gz동일한 파일이 존재하는지 교차 확인할 수 있는 방법이 있습니까 ( .gz.*DONE& 사이에 숫자가 포함되어 있으므로)?.gz.DONE

그렇지 않은 경우 touch명령을 생성하고 명령을 .txt파일로 출력합니다. 필요한 것은 touch로그 파일을 greping하여 해당 디렉터리에서 명령을 동적으로 생성하는 것뿐입니다.

관련 정보