스크립트는 파일(예: input.txt)에서 입력을 읽고, 파일의 각 줄(N 줄)을 별도의 변수에 저장하고, 각 변수를 다른 위치에서 고유하게 사용해야 합니다.
예를 들어, 파일에는 ABCD라는 4개의 라인이 있으며, 이는 4개의 변수에 저장되어야 합니다.
답변1
다음은 각 행을 /tmp/file
배열로 로드하므로 변수 등을 1
통해 행에 액세스할 수 있습니다 .${array[0]}
#!/bin/bash
IFS=$'\n' array=($(cat /tmp/file))
답변2
Kusalananda가 지적했듯이 이것은 xy 문제처럼 들립니다.
문제에 대한 가능한 awk
해결책은 다음과 같습니다.
awk 'BEGIN{ RS = ""; FS = "\n"}{print "First name:",$1,"Second name:",$2,"Org name",$3,"CN name:",$4}' input
쉘 변수를 사용하기로 결정했다면 다음과 같은 것이 필요할 것이라고 생각합니다.
#!/bin/bash
input=/path/to/input
mapfile -t array <"$input"
# If you don't have bash v3 use this instead of mapfile
# OLDIFS=$IFS
# IFS=$'\n'
# array=($(cat input))
# IFS=$OLDIFS
echo "First name: ${array[0]}, Second name: ${array[1]}, Org name: ${array[2]}, CN name: ${array[3]}"