計算機設定記録

パソコンの設定やトラブルシューティング

awk

各桁の和の整数乗がその数自身となる4桁の整数解を求めるawk編

awk

こういうツイートがあったので、まずawkで。 https://twitter.com/i/web/status/797584909359464448 【各桁の和の整数乗がその数自身となる4桁の整数解を求める最短コード】まだまだ若いモンには負けん! ペリルで72文字 \^o^/ for(1..14){$i=$_;for(1e3..…

ズンドコキヨシ

awk

ズンドコキヨシまとめ - Qiitaまずズンドコ生成。rは -v r=$RANDOMでシード値を与える。 # zundoko.awk BEGIN{ srand(r) while(1) print (rand()>0.2)?"ズン":"ドコ" } キヨシ判定。 # kiyoshi.awk /ズン/ { z++ } /ドコ/ && z==4 { print "キ・ヨ・シ!"; e…

指定したフィールドの追加/削除を調べる

AWK

元ファイルの指定したフィールドの内容について、引数のファイルの同じフィールドと比較し、新たに追加された分と削除された分を出力する。 # diff_field BEGIN{ FS="\t" # 区切り記号 Fn=1 # 比較するフィールド File = "比較元のファイル名" while((getlin…

フィールド毎に重複をチェックする

AWK

Excelなどからタブ区切り形式で出力したファイルについて、それぞれのフィールド(列)ごとに項目の重複がないかチェックする。ソートは不要。 最初にフィールド数が一定かどうかチェック。asort()を使ってるのでgawkで。 フィールド毎に毎回ファイルを開いて…

ついに顕在化しはじめた「AWKリスク」、その他

Google サイトREXX持ってるのにawk推し 共通テーマ: 実例でわかる awk: 第 1 回awk.info - AWK Music: Sox and OSX are anagrams.

まんじくずし

awk

遠山の金さんの奉行所の屏風の柄。繰り返しパターンに気づいて\と/で表現できないかと思って25年前に作ってみたのをawkで再現。なにをやっているのか。 #! /usr/local/bin/gawk -f # BEGIN{ # MANJI-KUZUSHI pattern 10x10 MX=10;MY=10; M[0]="/ /\/\…

インテルHEXフォーマットのチェッカ

awk

インテルHEXフォーマットのチェッカをawkで書いてみた。 フォーマットについては以下を参考にした。 Intel HEX - Wikipedia インテル HEX 形式Gistにアップしたのはこちら。 check intel-hex format file · GitHub 主な目的はパッチでいじった後のチェックサ…

LL DECADE 君ならどう書くONLINE

awk

Lightweight Languageイベント「LL DECADE」というのが今日あったらしい。そこでその場でコードを書くイベントがあってなんかもらえたそうなのだが、行かれぬから!君ならどう書く Online | LL Decade問題はこちら: 君ならどう書く Online 問題文 | LL Deca…

逆fizzbuzz 別解

awk

逆fizzbuzzの別解。手続き脳。 前回は充分な長さのfizzbuzz列が必要だったが、この範囲を越えるようなパターンを与えると検出できなくなる。 そこで素直な実装。与えられたパターンが順に条件を満たすか見ていき、パターンの最後まで行ったら合格。ただし制…

逆fizzbuzz

awk

ときどきの雑記帖経由で知った逆fizzbuzz問題。紹介記事はこちらみたい。 逆FizzBuzz問題 (Inverse FizzBuzz) - 猫とC#について書くmatarilloの雑記awkで書いてみた。 方針としては、なるべく頭を使わずにやる。fizz buzz...の並びは繰り返しパターンがある…

awkで書いたforthもどきその1

ふと思い立ってawkでforth書けないかなとやってみた。ただしリターンスタックは現在使っておらず逆ポーランド電卓レベル。ワードも今は定義するだけ。 gawk4.0.0が必要。split関数で4番目の引数(セパレータの格納)を使っているため。 パラメータスタックを毎…

罫線をテキストに表示する

これ見てawkでできないかなとやってみた。 Excelの表を罫線ごとテキストに変換する - ITmedia エンタープライズサンプルデータとして以下を用意。 ptable.txt H,He,Li,Be,B,C,N,O,F,Ne 1,2,3,4,5,6,7,8,9,10 1.01,4.00,6.94,9.01,10.8,12.0,14.0,16.0,19.0,2…

awkでフィボナッチ数列(自前bignum)

awk

awkでは数値はdouble扱いということで79番目のフィボナッチ数を計算するときに扱える範囲を越えてしまうことがわかったので、bignum相当の加算を作ってみた。これは文字列に対する十進加算ですけど。 #! /usr/local/bin/gawk -f # # Fibonacci number # BEGI…

awk/gawkで加算の結果がなんかおかしい 調査中 →doubleによる制限事項でした

awk

動作環境:MacOSX(10.6.8) /標準のawkとhomebrewでインストールしたgawk awk version 20070501 GNU Awk 4.0.0 実行例: gawk 'BEGIN{print 5527939700884757+8944394323791464}' →14472334024676220 ※最後の桁が"1"でないなお、rubyでは正しく計算できていま…

awkでフィボナッチ数列の計算が合わない→計算結果が!

awk

awkでfibbuzzやってたらどうも計算が合わない。で、rubyで確認したらこちらが合ってるっぽい。(MacOSX10.6.8 64bit 標準のawkとgawk4.0.0、ideone.comのgawk(3.1.6?)でも同様 awk 'BEGIN{print 5527939700884757+8944394323791464}' →14472334024676220 gawk…

unix的FizzBuzz

フィボナッチ数列をFizzBuzzするfibBuzzなんかも出てきて毎回作るのもなんなので、パイプでつないで処理するフィルタにしてみた。もちろんawk。fzbz.awk - 3,5の倍数の時に文字列に置き換え #! /usr/local/bin/gawk -f # # FizzBuzz filter # ($0%3)==0 && (…

FizzBuzz by awk/forth

forth http://ideone.com/nA0ek awk http://ideone.com/FtNI0 awkのone liner http://ideone.com/pEYDSideone.comおもしろい。

なぜawkを使うのか

awk

UNIX文化とC言語の記述に慣れた人がチョイチョイと書くのに最適。 C言語似の文法 変数は宣言なしで使えるが、関数(function)内でローカル変数も使用可 連想配列 アクションとパターンによるテキスト処理への特化 正規表現 UNIXのコマンドはテキストに対する…

awkでeval(ほぼ出落チ)

awk

http://alohakun.blog7.fc2.com/blog-entry-339.html見て。 #! /usr/local/bin/gawk -f # BEGIN { eval("BEGIN{print 12345}") ; } func eval( str ) { system("/usr/local/bin/gawk " "\"" str "\"") ; }