bashスクリプトを書いています。
bashスクリプト内にて、コマンドとしてawkを利用しています。
awk -F "," 'BEGIN{OFS=","} $2==${hogehoge} && $6==2 {print $0}' ./hogehoge.txt > result.txt
上記はシェルスクリプトの1行です。
結論から書きますと、シェル変数の${hogehoge}の展開がうまくいっていません。
本当は
hogehoge="2020/06/14 08:23:15"
cmd=$(awk -F "," 'BEGIN{OFS=","} $2==${hogehoge} && $6==2 {print $0}' ./hogehoge.txt)
のように、戻り値を変数に取り込みたいのですが・・・シェル変数の展開で失敗している模様。
シェル変数には、日付文字列が入っています。
どのように書けば実現できるのでしょうか?
■追加情報
awk -F "," 'BEGIN{OFS=","} $2=="'"2020/04/15 14:14:02"'" && $6==2 {print $0}' ./hogehoge.txt
このコマンドは通るようです。。。単純に展開されるだけではない??
さらにさらに、コマンドプロンプトで以下の順に実行すると通った。。。
$ kdate="2020/06/14"
$ awk -F "," 'BEGIN{OFS=","} $2=="'"${kdate}"'" && $6==2 {print $0}' ./hogehoge.txt
どうしてスクリプトファイルに書いたら動かない???のかますますわからなくなってしまいました。
回答3件
あなたの回答
tips
プレビュー