ファイルの合計サイズを求める $ls -la | awk ' {x += $5}; END {print x}' lsの結果の5番目(バイト数)を順番に足して最後に表示するというプログラム。 OSによっては、バイト数の表示位置が変わることがあるので注意 wc -c * | awk '$2~/合計/ {print $1}'でも良さそうだが、2バイト文字が入ると どうも上手くいかない。"合計"の部分が、英字表記なら上手くいく。 ファイルの合計ステップ数を求める $wc -l *.sh | awk '{x += $1}; END {print x/2}' こんなものが、今時必要になるかは疑問だが、シェル等のステップ数を求める方法。 Linux系のwcだと、最後に合計行が入るので2で割っている。 solaris等でwcをしたら、最後に合計はなかったような・・・。(未確認) 入力データ中のn文字以上の行を取り出す $awk 'length($0) > n' hoge.dat ログの解析の時に、微妙に役に立つことがある。 $0で行全体が対象になるので、項目指定の時は$nで使用すること。 多分、他のコマンドと併用することになるでしょう。 ファイル中の特定のカラムの数字がn以上の行を取り出す cat <span style="font-style:italic;">hoge.txt</span> | awk ' $2 > 100 ' 例えば、このようなフォーマットだと yahoo.co.jp 14000000 google.co.jp 3800000 fireking.jp 38 上記二件だけ出てくる。 カンマ区切りの場合だと、すこし工夫が必要 ファイルの件数を数える $ls | awk ' { x += 1} END { print x }' ファイル数を数えます。 ⇒ls | wc 使えって 特定の文字列を置換する $awk '{sub(/-/,","); print $1,$4}' "-"を","に置換 区切り文字の変更 $awk -Fc cの部分に、任意の区切り文字をセットする