###前提・実現したいこと
表題の通りです
現状はnoをキーにしてqtyが0以下のレコードを表示していましたが、
crp_cd,str_cd,no,dateをキーにしてqtyが0以下のレコードを表示するように修正したいです!
【】でくくっているのは、環境独自コマンドの部分なので、同じ意味合いのコマンドを【】の中に代わりに書きました
不足している情報はいっていただければ追記します
すいませんが、よろしくお願いします><
###ソースコード
bash
1cat $tmp-input_data.buf | 2【awk】 'NR==1{print "no"}; 3NR>1{ 4 if(%hasseimoto_cd == "AAAAA"){ 5 if(%qty < 0){ 6 aka_no[%no]=%no 7 } 8 if(%qty == 0){next;} 9 } 10} 11END {for(a in aka_no) if (aka_no[a]) print aka_no[a]}' | 12【sort】 -k no 13
###実行結果のbefore,after
「before」
no
0000755
0000756
↓
「after」
crp_cd str_cd no date
aa 1101980 0000755 20171121
aa 1101980 0000756 20171121
###試したこと
bash
1cat $tmp-input_data.buf | 2【awk】 'NR==1{print "no"}; 3NR>1{ 4 if(%hasseimoto_cd == "AAAAA"){ 5 if(%qty < 0){ 6 aka_no[NR][no]=%no 7 aka_no[NR][crp_cd]=%crp_cd 8 aka_no[NR][str_cd]=%str_cd 9 aka_no[NR][date]=%date 10 } 11 if(%qty == 0){next;} 12 } 13} 14END {for(a in aka_no) if (aka_no[a]) print aka_no[a][no],aka_no[a][crp_cd],…}' | 15【sort】 -k no
awk: コマンドライン:4: aka_no[NR][no]=$3
awk: コマンドライン:4: ^ syntax error
awk: コマンドライン:5: aka_no[NR][str_cd]=$2
awk: コマンドライン:5: ^ syntax error
awk: コマンドライン:6: aka_no[NR][crp_cd]=$1
awk: コマンドライン:6: ^ syntax error
awk: コマンドライン:7: aka_no[NR][date]=$4
awk: コマンドライン:7: ^ syntax error
awk: コマンドライン:12: END {for(a in aka_no) if (aka_no[a]) print aka_no[a][no]}
awk: コマンドライン:12: ^ syntax error
というようなエラーが出ました(´・ω・`)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。