カンマ区切り値を含むtxtファイルがあります。
cat file.txt
abc,def,ghi
abc,ghi
def,abc,ghi
def,abc
abc,def
abc,def,ghi
while do read line from file
この値をカンマで区切って印刷したいと思います。
たとえば、
expecting output for Line no 1:
first col=abc
second col=def
third col=ghi
expecting output for Line no 2:
first col=abc
second col=ghi
行に3つの値がある場合は、読み取った行を印刷する必要があります。
first col=value
second col=value
third col=value
その他
first col=value
second col=value
このシェルスクリプトをどのように作成できますか?
ベストアンサー1
bashを使えばできます
ordinals=( first second third fourth fifth sixth )
n=0
while IFS=, read -ra cols; do
echo "line $((++n))"
for i in "${!cols[@]}"; do
echo "${ordinals[i]} col=${cols[i]}"
done
done < file
各行の単語をという配列で読み取ってからcols
実行します。索引値を序数に関連付けることができるように、この配列の値。
最初の3行について、私たちは次のようになります。
line 1
first col=abc
second col=def
third col=ghi
line 2
first col=abc
second col=ghi
line 3
first col=def
second col=abc
third col=ghi