AWK ならどう書く?
ここでは他のプログラムで書かれている内容などを awk で作った場合にどうなるかを記載し、サンプルコードも含めて掲載しています。 中には awk らしくない記述のものもありますが、少しでも皆さんの awk の勉強のためになればと思い書いています。
また、ここで使っている関数一覧はIndex of awk functions and variables に一覧として載せていますので、関数の使い方を検索する際にご利用ください。
- プログラムが 140 文字以内かどうか? (2009-11-22)
- ビンゴシートの作成 (2009-11-17)
- n 文字のコマンドを見つける (2009-11-15)
- ランダムな文字列の生成 (2009-11-13)
- 中置記法から逆ポーランド記法への変換 (2009-11-07)
- 画像ファイルのリサイズ (2009-11-01)
- 一番長いファイル名を探す (2009-11-01)
- シーザー暗号 (2009-10-27)
- watch コマンドのようなもの (2009-10-20)
- 来年まであと何日 (2009-10-12)
- ストップウォッチ (2009-10-05)
- 画像を一括で取得するお手伝い (2009-10-04)
- URL からドメインを抽出する (2009-10-02)
- 文字列を # で囲む (2009-09-28)
- 自然対数の計算 (2009-09-27)
- 残メモリ量の監視 (2009-09-26)
- コマンドライン引数からランダムに 1 つを返す (2009-09-25)
- C 風のコメントを削除 (2009-09-15)
- 行数に応じて less と cat を切替えてくれるスクリプト (2009-09-15)
- ドント方式投票の計算 (2009-09-14)
- 実質の参加者数は? (EPOCH@まつやま - 本選 5) (2009-09-10)
- 欠席者を探せ (EPOCH@まつやま - 本選 4) (2009-09-09)
- 2 人の相性度は? (EPOCH@まつやま - 本選 3) (2009-09-09)
- オイラーの定数 (2009-09-08)
- 素因数分解 (EPOCH@まつやま - 本選 2) (2009-09-08)
- 友愛数 (EPOCH@まつやま - 本選 1) (2009-09-06)
- EPOCH@まつやまの例題を解いてみる (2009-09-06)
- 月齢を求める (2009-09-05)
- サイコロを 100 回振って各目の出る割り合いを求める (2009-09-05)
- paste コマンドのようなもの (2009-09-03)
- sqrt() 関数を用いずに平方根 (2) (2009-09-03)
- 今月が何日まであるか (2009-08-31)
- テキストを画像に変換 (2009-08-31)
- 横書き縦書き変換 (2009-08-27)
- 行のシャッフル (2009-08-24)
- sqrt() 関数を用いずに平方根 (2009-08-22)
- 答えを与えると、ランダムに式を生成するプログラム (2009-08-19)
- 大体の時刻を表示するコマンド (2009-08-17)
- Twitter のタイムラインで必要な情報を取得 (2009-08-16)
- 画像のサムネイルを作成して HTML 形式にする (2009-08-15)
- シードを固定した乱数 (2009-08-14)
- 連続した空白行を検出するスクリプト (2009-08-08)
- Apple Lines の出力 (2009-08-08)
- 大文字と小文字の反転 (2009-08-04)
- awk は遅いのか!? (2009-08-03)
- エラトステネスの篩で素数を求める (2009-08-02)
- ハミング距離 (2009-08-01)
- グレイコード (2009-07-29)
- 3 桁ごとにカンマで区切る (2009-07-26)
- しりとりをする (2009-07-24)
- mawk をビルドする (2009-07-21)
- 文字を中央に表示する (2009-07-21)
- gawk 3.1.7 (3.1.6g) を試す (2009-07-19)
- マクローリン展開で sin(x) を求める (2009-07-17)
- iTunes Store 検索 (2009-07-17)
- ラングトンのアリ (2009-07-16)
- wc のようなもの (2009-07-15)
- awk の変数情報を出力する (2009-07-14)
- ハッピーナンバーの判定 (2009-07-12)
- 促音を通常の大きさに変換 (2009-07-11)
- 映画 MATRIX のような画面 (2009-07-10)
- 金額と枚数を指定した両替 (2009-07-10)
- バイナリクロック (2009-07-08)
- みんなの願い事がわかる awk スクリプト (2009-07-07)
- SMTP を使ってメールを送信 (2009-07-05)
- 非再帰マージソート (2009-07-04)
- XML (SVG) からファイル名を抜き出す (2009-07-01)
- 文字列の最初と最後にあるスペースとタブを削除 (2009-07-01)
- ファイル名を一括して先頭 10 文字に短くする (重複があっても大丈夫) (2009-06-26)
- ファイル名を一括して先頭 10 文字に短くする (2009-06-21)
- グラフ付きで何時毎にファイルを編集しているか集計する (2009-06-14)
- 何時毎にファイルを編集しているか集計する (2009-06-13)
- 2 つのテキスト内の数字を 1 行ずつ割り算する (2009-06-10)
- which コマンドの実装 (2009-06-08)
- 住所から緯度と経度を求める (2009-06-07)
- 最も 0 に近い数を求める、最も大きな数を求める (2009-06-06)
- awk の真偽を確かめる (2009-06-06)
- 今日は第何火曜日? (2009-06-03)
- 1 ヶ月カレンダー (2009-06-01)
- はてなキーワードの言葉を PC に覚えさせる前準備 (2009-05-31)
- 1 から 2000 までの数字が何通りの立方数の和で表せるか (その 2) (2009-05-31)
- 整数化の問題 (オレオレ int を作る) (2009-05-30)
- 1 から 2000 までの数字が何通りの立方数の和で表せるか (2009-05-30)
- 単語の個数のカウント (2009-05-27)
- XML のパース (2009-05-26)
- 16 進数から 10 進数への変換 (2009-05-25)
- 2 つのファイルの中身を比較する (2009-05-25)
- 切り下げ、切り上げ、四捨五入 (2009-05-24)
- awk で喋らせてみる (xgawk 編) (2009-05-23)
- awk で喋らせてみる (2009-05-23)
- Weasel の問題を解く (2009-05-21)
- 急勾配の列の判定 (2009-05-18)
- HTML ファイルからタイトルを抜き出す (2009-05-17)
- awk でプロファイリング (2009-05-17)
- ベンフォードの法則を確かめてみる (2009-05-17)
- 球面上のランダムウォーク (2009-05-15)
- meminfo からの情報取得 (2009-05-13)
- 囲まれた文字列の置換 (その 2) (2009-05-10)
- 囲まれた文字列の置換 (2009-05-10)
- ニコニコ大百科の言葉を PC に覚えさせる前準備 (2009-05-09)
- 短縮 URL の展開 (2009-05-09)
- バッテリー状態表示 (2009-05-07)
- 単語のシャッフル (2009-05-05)
- ログの整理 (2009-05-04)
- 素因数分解 (2009-05-04)
- ハミングの問題 (2009-05-03)
- 最初の文字を大文字にする (2009-05-02)
- PI (円周率) を求める (2) (2009-05-01)
- 二次方程式を解く (2009-04-30)
- awk で BASE64 エンコード (2009-04-30)
- awk で BASIC 認証 (2009-04-29)
- 最近点検索 (2009-04-29)
- 何秒前に触ったファイルなのか? (2009-04-29)
- ダイスを 30 個同時に振って、すべて 1 の目が出たら負け (2009-04-26)
- ファイル名の一括変換 (2009-04-25)
- うさぎの数が世界人口を越えるには (2009-04-22)
- 素数の二進法表記 (2009-04-20)
- 世界時計 (2009-04-17)
- awk でオブジェクト指向的 Hello World (2009-04-15)
- 17 歳と x 日ジェネレーター (2009-04-13)
- Jaro-Winkler 距離の計算 (2009-04-11)
- 円周率の何桁目に日付表記が来るか? (2009-04-08)
- int(0.5005*10000)が5004になるのはなぜですか。 (2009-04-05)
- ファイルの先頭にテキストを追加するスクリプト (2009-04-04)
- /bin/true の実装 (2009-03-28)
- 各位の和を 10 の倍数にする (2009-03-28)
- マルチンゲール戦略を試してみる (2009-03-26)
- 画像をアスキーアートに変換 (2009-03-22)
- 2 番目の項目を消したい (2009-03-19)
- ++i は i++ よりも速い? (2009-03-18)
- PI (円周率) を求める (2009-03-16)
- 転置行列を作る (2009-03-10)
- ベンチマークのための時間計測関数 (2009-03-09)
- gawk の asort() 関数は相当おかしくない (2009-03-08)
- ナイツ関数(ボケの方)を解いてみる (2009-03-07)
- イースターを計算するプログラム (2009-03-07)
- 文字列の頭2桁の数字を年に変換してソートしたい (2009-03-06)
- 文字列の反転 (2009-03-06)
- 一番長いファイル名は? (2009-03-01)
- gawk のビルトイン asort() はオレ quick sort より速い (2009-03-01)
- 日本語ファイル名のファイルを探し出せ (2009-02-23)
- 大文字と小文字の全ての組み合わせを表示 (2009-02-23)
- 1234567890 秒までの残り時間を表示する (2009-02-10)
- Gnome で CPU の負荷をお知らせ (2009-02-07)
- 同じ文字列のn回繰り返しを作る方法 (その 2) (2009-02-05)
- 同じ文字列のn回繰り返しを作る方法 (2009-02-01)
- ファイルに記載された文字列の置換 (2009-01-18)
- fishっぽいpwd: /usr/loacl/binが/u/l/binになるやつ (2008-12-18)
- フィボナッチ数が黄金比に収束するかの確認 (2008-12-15)
- 文字のヒストグラム (2008-12-10)
- ランダムに行を抜き出すプログラム (2008-12-10)
- 行末の空白の削除 (2008-12-07)
- アルファベットの循環表示 (2008-12-03)
- あなたが今まで打ったなかで一番長いコマンドは? (2008-11-19)
- seq コマンドを awk で。 (2008-11-18)
- 0 〜 1000 に含まれる 0 をカウントする (2008-11-16)
- コマンドプロンプトで cat する (2008-11-07)
- 各行ごとにコマンドを実行するスクリプト (2008-11-06)
- 最適なお釣りの計算 (2008-10-26)
- フィボナッチ数列 (その 2) (2008-10-24)
- 2 つのファイルの比較 (2008-10-24)
- awk でシングルクォートを扱う (2008-10-17)
- 連想配列の値でソート (2008-10-14)
- 連想配列のキーを取り出す (2008-10-13)
- awk で epoch time を YYYY/MM/DD HH:MM:SS に変換する (2008-10-11)
- awk で CGI (2008-10-09)
- Sqawk を使う (2008-10-04)
- getline の問題点 (2008-09-27)
- 10 億回のループ (awka 版) (2008-09-27)
- 10 億回のループ (2008-09-26)
- 偏差値を求める (2008-09-25)
- awk で最小二乗法 (2008-09-23)
- BEGIN 部で処理した結果をアクションで使う (2008-09-20)
- フィボナッチ数列 (2008-09-19)
- 100 Most Common English Words を検証してみる (2008-09-19)
- 簡易 HTTP Server (xinetd 編) (2008-09-14)
- 簡易 HTTP Server (2008-09-14)
- awk で最大値と最小値 (2008-09-03)
- 1, 2, 3, 4, 5 .... と無限ループで連続した数字を表示し、Escape キーのような特定のキーで止まるようなプログラムを作りなさい (その 2) (2008-09-03)
- 配列のシャッフル (2008-09-03)
- LL Golf Hole 8 - 横向きのピラミッドを作る (2008-08-28)
- LL Golf Hole 7 - バイト数を読みやすくする (2008-08-26)
- 死蔵しているコマンドの数 (2008-08-25)
- CPU 負荷率のグラフ化 (2008-08-23)
- 2008-08-22 の io.c の変更を検証する (2008-08-23)
- コンソールアナログ時計 (2008-08-22)
- 10 進数を N 進数に基数変換する (2008-08-21)
- stat から更新時間を取得する (2008-08-21)
- LL Golf Hole 6 - 10進数を2進数に基数変換する (2008-08-20)
- awk でテトリスみたいなゲームをつくろう! (嘘) (2008-08-19)
- LL Golf Hole 5 - 最上位の桁を数え上げる (2008-08-18)
- nawk で時刻取得 (2008-08-18)
- 九九 (2008-08-14)
- LL Golf Hole 4 - 文章から単語の索引を作る (2008-08-09)
- LL Golf Hole 3 - 13日の金曜日を数え上げる (2008-08-09)
- 時間ごとの wc (2008-08-07)
- 1, 2, 3, 4, 5 .... と無限ループで連続した数字を表示し、Escape キーのような特定のキーで止まるようなプログラムを作りなさい (2008-08-06)
- LL Golf Hole 2 - 文字列に含まれる単語の最初の文字を大文字にする (2008-08-04)
- Ogg を MP3 に連続で変換する (ffmpeg) (2008-08-03)
- Yahoo! 日本語入力 API を使う (2008-08-01)
- とっても重宝! awk でコマンドラインから Twitter と Wassr に投稿 + TinyURL 付き (2008-07-30)
- ls -lR の結果から Tree 表示 (2008-07-30)
- LL Golf #1 - tinyurl.comを使ったURLの短縮 (2008-07-26)
- 2 番目のフィールドでのソート (2008-07-21)
- ヘビのマッチ (2008-07-21)
- gawk の boolean 関数 (2008-07-19)
- アッカーマン関数 (2008-07-19)
- 小文字の判定 (2008-07-18)
- ゆの in awk (2008-07-14)
- 1970/1/1 からの経過日数を求める (2008-07-12)
- awk でリファラ解析 (2008-07-12)
- awk で数字を取り出す (2008-07-09)
- awk の配列は連想配列 (2008-07-08)
- awk で FizzBuzz (2008-07-08)
- よその Amazon では取扱あるかなスクリプト (awk 版) (2008-07-08)
- 異なる日付フォーマットでの計算 (2008-07-05)
- printf の評価順序 (2008-07-05)
- 私は誰? (スクリプト名を取得する) (2008-07-05)
- 実用! awk でコマンドラインで Twitter 受信 (2008-07-03)
- ログイン/ログアウトの記録の解析 (2008-07-02)
- 実用! awk でコマンドラインから Twitter 投稿 (2008-07-02)
- 2 行を 1 行にして表示 (2008-06-22)
- TCP サーバーと TCP クライアント (2008-06-22)
- 利息計算 (2008-06-21)
- exit 後の END ブロック (2008-06-20)
- 漢数字から英数字 (2008-06-20)
- awk で複数ファイルをオープン (2008-06-17)
- カードをシャッフルする (2008-06-16)
- awk で外部プログラムを実行し、結果を取得する (2008-06-16)
- awk で GUI (2008-06-15)
- 曜日の取得 (2008-06-15)
- awk でなんちゃって執事 (IRC 版) (2008-06-12)
- awk でなんちゃって執事 (多機能版) (2008-06-12)
- awk でなんちゃって執事 (2008-06-11)
- awk でディレクトリは渡れないけど tree なら (2008-06-10)
- awk で ppencode もどき (2008-06-07)
- xgawk で if 文と switch 文の速度を比べる (2008-06-02)
- awk で tinyurl.com の API を使う (2008-06-02)
- gawk で「最寄り駅Webサービス」 (2008-06-01)
- gawk で後方参照 (2008-05-26)
- awk で tac (2008-05-26)
