Bashでタブ区切りのデータを分解して扱いたい
まずは、カンマ区切り
#!/bin/bash TEXT='A,,B' IFS=',' set -- $TEXT echo "1:$1" echo "2:$2" echo "3:$3"
実行結果
1:A 2: 3:B
これをタブでやると・・・
#!/bin/bash TEXT='A B' IFS=$'\t\n' set -- $TEXT echo "1:$1" echo "2:$2" echo "3:$3"
実行結果
1:A 2:B 3:
空白が入らないので辛い
以下をみて、タブをカンマに置き換えてから処理
#!/bin/bash TEXT='A B' TEXT=${TEXT//$'\t'/,} IFS=',' set -- $TEXT echo "1:$1" echo "2:$2" echo "3:$3"
実行結果
1:A 2: 3:B
でも、タブを区切り文字にするくらいだから、 データに,がある場合にはこれではNGですね