자동으로 파일을 열고 내용을 분석해야 합니다.
폴더마다 이름 패턴이 다른 다양한 파일이 있기 때문에 파일을 열 수 있는 방법을 찾는 데 어려움을 겪고 있습니다.
특정 패턴의 파일만 열면 됩니다.: "error_YYYYMMDD_xyz.json" "xyz는 0에서 999 사이의 숫자입니다.
특정 파일만 검색하기 전에는 이 알고리즘을 사용했습니다.
for folder in `ls -d $path`
do
for file in `ls $folder`
do
erreur=`jq ".tot_type" $folder/$file`
date=`echo $folder/$file | cut -d '_' -f2 | cut -c7-8 `
if [ \( "$erreur" > 0 \) ]
then
j$date=`expr ${j$date} + 1`
fi
done
done
어떻게 해야 하나요?
답변1
정확히 무엇을 달성하고 싶은지 잘 모르겠습니다.
내가 이해하는 한, 이것을 참조할 수 있습니다.답변두 번째 루프를 다음으로 바꿔보세요 for
.
for file in `ls $folder | egrep 'error_[0-9]{8}_[0-9]{3}\.json'`
패턴에 해당하는 파일만 사용하여 ls의 출력을 필터링합니다.
error_[0-9]{8}_[0-9]{3}.json
"20XX"로 시작하는 날짜, "01"과 "12" 사이의 달, "01"과 "31" 사이의 날짜에만 해당하는 패턴을 사용하여 보다 정확한 필터링을 통해 더 많은 필터링을 제한할 수 있습니다.