CSVファイルのセルを読む

CSVファイルのセルを読む

この数値表をcsv次のファイル形式で保存しました。

5,  6,  9,  5,
2,  8,  1,  1, 
1,  2,  3,  6,
. . .  . .
. . .  . .
. . .  . .
. . .  . .

この表の各行は、長方形のサイズを説明しています。

次のように、コマンドラインに1行に4つの数字を入力して長方形を作成したいと思います。

rectang -cs x1 x2  x3 x4  # rectang is a script to create rectangle; -cs flag means dimensions; x1, x2, x3 x4 the rectangle dimensions 

table.csvcsvファイル""をタブ区切りのテキスト" table.txt"ファイルに変換し、次のようにforループで使用しようとしています。

for i in $(cat table.txt); do
rectang -cs x1 x2  x3 x4
done

しかし、テーブル内の「長方形」コマンドでx1 x2 x3 x4を提供する方法がわかりません。

助けてくれてありがとう。

ベストアンサー1

このreadコマンドは、文字で区切られた複数の単語をキャプチャできます$IFS(デフォルト:スペース、タブ、改行)。

while read -r d1 d2 d3 d4; do
    rectang -cs "$d1" "$d2" "$d3" "$d4"
done < file.csv

変更されたデータ(カンマとスペースで区切られたフィールド)が与えられたら、次の操作を行います。

while IFS=",$IFS" read -r d1 d2 d3 d4; do # ...

フィールド区切り記号としてカンマを含めます。

おすすめ記事