쉘 스크립트에서 여러 열이 있는 파일의 모든 행을 인쇄합니다.

쉘 스크립트에서 여러 열이 있는 파일의 모든 행을 인쇄합니다.

다음 형식의 4개 열이 있는 파일이 있습니다.

name;user_id;dob;date_of_joining

쉘 스크립트를 통해 아래 출력의 모든 변수를 인쇄하고 싶습니다

직원 "$name"의 생년월일은 "$dob"의 "$user_id"이고 "$date_of_joining"에 조직에 합류했습니다.

어떻게 해야 하나요?

답변1

셸을 사용하면 변수를 read조작하는 IFS명령을 사용하여 한 줄에서 여러 필드를 가져올 수 있습니다.

while IFS=';' read -r name user_id dob joined; do
    echo "The employee $name is having $user_id whose date of birth is $dob and joined organisation on $joined"
done < filename

답변2

사용 awk:

awk -F\; '{print("The employee", $1, "is having", $2, "whose date of birth is", $3, "and joined organisation on", $4)}' filename

파일 이름은 filename.

관련 정보