Pythonのテキスト辞書があり、それを人間が読めるように編集しているとしましょう。これで、次の入力のように1行ずつ表示されます。
入力する
{"case":"0901","emailed":"yes","vote":1,"accepted":"no"},
{"case":"0908","emailed":"yes","vote":8,1"accepted":"yes"},
{"case":"0911","emailed":"no","vote":10,1"accepted":"yes"},
{"case":"0090","emailed":"yes","vote":3,1"accepted":"no"},
**すべてのテキストファイルは古い形式です**
yes
だから私は最初とno
2番目を含む行を探したいと思います。
だから私は出力が次のようになると期待します
出力
{"case":"0901","emailed":"yes","vote":1,"accepted":"no"},
{"case":"0090","emailed":"yes","vote":3,1"accepted":"no"},
単語順にgrepする方法が見つかりませんでした。
2番目の質問は私の結果に関するものですか?
awk
sum
総投票数を計算する機能を使用できますか?これは4,1
出力から出てくるはずです。
ベストアンサー1
確認する:
必要な行を印刷してください
awk -F'[,:]' '
$4 ~ "yes" && $8 ~ "no" {
print;
}' input.txt
出力
{"case":"0901","emailed":"yes","vote":1,"accepted":"no"},
{"case":"0090","emailed":"yes","vote":3,1"accepted":"no"},
合計を計算
awk -F'[,:]' '
$4 ~ "yes" && $8 ~ "no" {
sum += $6"."$7;
}
END {
print sum;
}' input.txt
出力
4.1