파일에서 입력을 받아 변수에 저장

파일에서 입력을 받아 변수에 저장

스크립트는 파일(예: 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]}"

관련 정보