前提・実現したいこと
bashのawkコマンドで、カンマ区切りのデータを解析したいのですが、以下のポイント困っております。
・awkで解析したデータの一部が空白文字複数が許容されているのですが「 」
awkで解析し、printすると、空白1文字となってしまいます。
・コマンド
$echo test1,test2, ,test4 | awk -F, '{print $1","$2","$3","$4}'
・実行結果
test1,test2, ,test4
・想定(期待)結果
test1,test2, ,test4
空白複数については、そのまま複数で出力したいのですが、どのように実現すれば良いのかわからず
アドバイスいただけませんでしょうか。
色々試したこと
echo であれば、変数をダブルクォートで括ることで、複数空白を出力できることを知りました。
$ export arg=" "
$ echo "|"$arg"|"
| |
$ echo "|""$arg""|"
| |
ただし、awkで変数を括ってしまうと、文字列として扱ってしまいます。
$ echo test1,test2, ,test4 | awk -F, '{print "$1"",""$2"",""$3"",""$4"}'
$1,$2,$3,$4
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/18 11:51