gawk

gawkやmawkで1byte/1文字ずつファイルを読む方法

id:eel3:20151212:1449931944 へのはてブのコメントより。 gawk なら簡単にできるけど、これも意外と知られてないかな。 http://b.hatena.ne.jp/entry/273514414/comment/Rocco コメントのように、拡張アリアリなら、gawkで1文字/1byteずつ読むことや、mawk…

8つの言語で1つのツール(2つのコンソールアプリの出力を加工する類のツール)を書き比べた

id:eel3:20120116:1326675419 で書いたように、funclenというC言語用の行数計測ツールを使っている。単純にソースファイル中に定義されている関数名を列挙するだけにも使えるが、ある条件の時に誤った関数名を出力してしまう。なのでExuberant ctagsとgawkを…

ソースファイル中に定義してある関数の名前を列挙する

仕事をしていて、時々ファイル中の関数名を列挙したいことがある。例えば、単体テストする関数の数が多いので難易度別に分けようと思い立ったけど関数名を一々手作業で列挙するのが面倒なので自動的に抜き出して表にするとか、他人のソースを読む時に関数が…

時代遅れひとりFizzBuzz祭り bash編おまけ(TCPクライアント/サーバ版)

id:eel3:20111031:1319989854 のおまけ。bash 2.04以降では/dev/tcpや/dev/udpを使用してネットワーククライアントの処理を記述することができる。これらは実際に/dev以下にデバイスノードが存在する訳ではなく、bash上でのみ有効なシンタックス・シュガーの…

カーナビ三部作その3:microSDHCにMP3ファイルを書き込む順番で苦労する

id:eel3:20110619:1308413539 の続き。何やら妙なところで色々と苦労したものの、遂にMP3をmicroSDHCに書き込めるようになった。なので早速フォルダごとMP3ファイルをコピー……とはいかない。このmicroSDHCはカーナビで使うのだ。カーナビ――そう、相手は組み…

gcovの要約情報から欲しいものだけ抜き出す

過去に何度か書いているが、普段からgccとgcovをよく使っている。基本的にCプログラマなので仕事でCで書くことが多く、書いたソースのコンパイルチェックや単体テストにMinGWを使っているのだ。gcovを使うと未実行のパスが可視化されて便利なので、使ってい…

時代遅れひとりFizzBuzz祭り /bin/sh編

久々の時代遅れひとりFizzBuzz祭り、今回は/bin/sh。要はシェルスクリプト。前回のTclとの繋がりは……何となく雰囲気が似ているから。まあ元々TclはUnixアプリケーションの標準の拡張スクリプト言語としてデザインされたらしいだが、シェルスクリプトはUnix環…

改行のみのテキストファイルを作る

空の行(改行のみの行)が数十行あるだけのテキストファイルが急に欲しくなったので、Rubyで作ってみた。 ruby -e '30.times { print "\n" }' > test3.txt 見た目通り、何の捻りもない。後でこんな書き方もあることに気づいた。 ruby -e 'print "\n" * 30' >…

時代遅れひとりFizzBuzz祭り GNU AWK編

時代遅れひとりFizzBuzz祭り、今回はGNU AWK。前回がC++だったので、その流れでJava……ではなく、よく使う言語繋がりでgawkにしてみた。gawkは、まだ私がC言語ぐらいしか使えなかった頃に、ちょっとしたツール自作用に使い始めた言語だ。既にPerl 5.8.8の頃だ…