파일 식별 문자열 및 특정 명령만 읽기

파일 식별 문자열 및 특정 명령만 읽기

다음 스크립트를 사용하여 데이터를 파일로 수집하고 있습니다.

while IFS= read -r line
do
echo "$line"
echo -e "$line-new" >>newfile.txt

done <"file.txt

"

새 파일에는 다음 데이터가 포함됩니다.

gl-system-events_1
gl-events_2
gl-system-events_0
gl-events_6
gl-events_1
gl-events_5
gl-system-events_6
gl-system-events_4
gl-events_3
gl-system-events_2
gl-system-events_5
gl-events_0

이제 각 줄을 순차적으로 읽고 해당 문자열에 대해 특정 명령을 실행하는 스크립트를 작성하고 싶습니다.

예를 들어, gl-system-events_2 작업을 식별하면 명령 A를 실행해야 하고, gl-events_0을 식별하면 명령 B를 실행해야 하며, 다른 작업을 식별하면 명령 C를 실행해야 합니다.

if 또는 다른 방법을 사용하여 이를 보관하는 방법을 도와주실 수 있나요?

감사합니다, 샘

답변1

스위치를 사용할 수 있습니다 case. 그것은 다음과 같습니다:

while IFS= read -r line
do
   case $line in
     gl-system-events_2)
        commandA
        ;;
     gl-events_0)
        commandB
        ;;
     *)
        commandC
        ;;
    esac
done
   

관련 정보