
スクリプトはファイル(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]}"