다음 스크립트를 사용하여 데이터를 파일로 수집하고 있습니다.
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