アプリ版:「スタンプのみでお礼する」機能のリリースについて

Linuxについて2つ質問したいです。


シェルスクリプト名をawk1.shとして、指定されたデータファイルの各行の左から3つ目の数値をぜんぶ合計して出力するにはどのように記述すればよいですか?
% bash awk1.sh data1 data2
data1
15050
data2
29900


シェルスクリプト名をawk2.shとして、引数として指定されたデータファイルから以下の条件を満たす行だけを出力するにはどのように記述すればよいですか?
引数のファイル名はいくつでも指定可能にできるようにすること。

1番目の数値が偶数
2番目の数値が80未満
3番目の数値が50以上
% bash awk2.sh data1 data2
16 33 50
18 37 56
20 41 62
22 45 68
24 49 74
26 53 80
28 57 86
30 61 92
32 65 98
34 69 104
36 73 110
38 77 116
32 41 50
36 46 56
40 51 62
44 56 68
48 61 74
52 66 80
56 71 86
60 76 92

A 回答 (1件)


for $f; do echo $f; perl -ne 'BEGIN { $s = 0; } $s += (split)[2]; END { print "$s\n"; }' $f; done


perl -nae 'print if $F[0] % 2 == 0 && $F[1] < 80 && $F[2] >= 50;' "$@"
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!