2007-10-01から1ヶ月間の記事一覧

awk の OFS は有効です (続き)

awk

きむらさんが解説してくださっています。 ただし特別な動作として、フィールド変数やレコード変数($0ね)に変更を加えたときとか、特殊変数NFを操作したときに、フィールド変数を使ってのレコードの再構築が行われます。このときは、フィールドとフィールドの…

連想配列のソート

Sorting associative arrays これは定石なのかもしれないけれど、裏技的なことも書かれています。Golf を awk でされている方は環境変数を export できればなぁと思っているのではないでしょうか。まぁ、ソースコードを読めば書かれているわけですが・・・。…

スクリプト中の変数の抜き出し

how to list all defined variables gawk には '--dump-variables' というオプションがありますが、これを使います。 クラシカルな awk は Ed Morton が書かれているように配列に格納して for 文で探す手段も有効ではないでしょうか。 ... { V["var1"] = 3; …

shell 変数の awk での使用

shell variable in awk これも定石と言うか FAQ に近い問題です。基本的には '-v' オプションで渡すのが簡単で間違いがありません。 #! /bin/bash pattern=$1 cat file.c | awk '{ if($0 ~ $pattern) print $0; }' というものが動作しないと言うことですが、…

最後の 2 行を出力する

Help to explain awk が苦手とする tail のようなものですが、awk で行う場合には定石があって、Janis Papanagnou も親切に回答しています。 { two_lines = saved_line "\n" $0 saved_line = $0 } END { print two_lines } { prev_line = curr_line curr_lin…

gawk 3.1.6 for Windows

きむらさんが gawk 3.1.6 の Windows 版を作成してくれています。 とりあえず実行ファイルまでできたけど、さてどうしましょうかね。 http://www.kt.rim.or.jp/~kbk/zakkicho/07/zakkicho0710c.html#D20071029-1 私はありがたく頂戴しました。実は手元の Zau…

awk の OFS は有効です

awk

OFSの指定を無視して入力レコードがそのまま出力されます。 awkコマンドのOFSが無効になるとき - 杉風呂2.0 - A Lifelog - 実際には無視していません。 {print} は $0 が省略されているだけで、$0 は FS で分割されているわけではなく、この場合には 1 行な…

「どう書く?org」(ベータ版)

どう書くorgについてオフィシャルに言及するのは初めてなのですが、アルファ版の時点ではてなブックマークのホットエントリーになったり、 オレンジニュースや やじうまWatchで言及していただいたりしたのですでにご存じの方もいらっしゃるかもしれません。 …

CnetOS のリポジトリ

例えば 4.5 では nkf もない。5 にはあるけど。エンタープライズな皆さんはそんな雑多な処理はなさらない? 自動判定なんかに頼らずに iconv 使うのが常識? うっそーん。もしかして時代は今 Perl + Encode.pm ? うっそーん。まさか php + mbstring + encod…

Debian の依存図 (続き)

画像を作るのに使ったRubyスクリプトをはりつけておきます。 debパッケージの依存関係を図示 - sshi.Continual 素晴らしい、ありがとうございます。 dpkg-ruby なんてものがあるんですね。

gawk で YouTube 動画を落とす

ネットでたまたま見つけたものです。 This will be a tutorial on how to download YouTube videos. I just love watching YouTube videos. Downloading YouTube Videos with GNU Awk 仕組みを追いながら解説してくれているので、結構分かりやすいです。使っ…

gensub でのグループ化と置換

元はこちらです。 awk で正規表現のグループ化(Pythonで言うとm.group(1)とか、あれ)があるかないかが良く分からん。ちょっと調べた限りだとないように見える。普通の人はそこまでやったら普通sedか何かなんだろうか 2007/10/28 の出来事 - 真 もわ爛漫 Pyth…

gawk 3.1.6 リリース通知翻訳

ざっとリリース通知を翻訳しました。原文はPatch #6 to Gawk 3.1 now availableです。同時に本コミュニティの ML にもgawk 3.1.6 リリース|freeml byGMOとして配布しました。 少し気になるのがドキュメントの配布です。元々 gawk.texi として配布されている…

gawk 3.1.6 リリース!

先日以下のようなことを書きましたが、10/27 に gawk 3.1.6 がリリースされました。 cvs 版をビルドしてみるとバージョンの表記が 3.1.6 になっています。したがって、間もなく gawk 3.1.6 がリリースされるものと思われます。 gawk 3.1.6 リリース間近 - 日…

Debian の依存図

これも凄い図です。 debパッケージの依存関係を図示 - sshi.Continual この dot ファイルってどうやって作るんだろうか? 簡単に作れちゃうのかな? apt-get (apt-cache?) で追跡していくんでしょうか? とにかく凄いが、Graphviz の線が見えない。 現在、メイ…

ソフトウェア戦争

これは凄い闘いです。 Software Wars 笑ったのが .Net vs Mono で Mono が押されている点ですね。あと、Novel は一見して四面楚歌に見えます。 激戦区は、MSIE7 vs Firefox, GPL vs SCO, Redhat vs WindowsXP といった部分ですかね。 左上は GPLv2 vs GPLv3 …

Sphere Online Judge

いわゆる Golf のようなものでしょうか。 http://www.spoj.pl/ 問題はanarchy golfよりも少し難しいのかな。今のところは awk はなさそうです。

html2man

awk

最初何がやりたいのか分からなかったのですが、何となく分かってきました。 mixi engineer blog つまり、nroff 形式なんて書いてられないから、普段から良く使う HTML で書けばいいんじゃないかということです。確かにそのとおりなのですが、HTML を用いると…

Anthy のインストール (正確にはちょっと違うけど)

Emacs で Anthy 入力しても 'finished' とか出て落ちてしまっていたのですが、原因がやっと判明しました。結果的に /etc/anthy/anthy-conf が何故か存在しなかったことが原因なんですが、なぜ消えたのかは全く不明です。(きっと不正終了で落ちた時に消えたの…

gawk 3.1.6 リリース間近

cvs 版をビルドしてみるとバージョンの表記が 3.1.6 になっています。したがって、間もなく gawk 3.1.6 がリリースされるものと思われます。 $ LC_ALL=C gawk --version GNU Awk 3.1.6 Copyright (C) 1989, 1991-2007 Free Software Foundation. This progra…

Ruby 認定試験対策問題

いよいよ明日になりましたが、http://projects.netlab.jp/ruby-test/ に「Ruby 認定試験対策問題」が出ています。 全部は見ていませんが、Ruby を知らなくても何となく解けてしまう問題も結構ありますね。http://www.school.ctc-g.co.jp/ruby/rubycertify/を…

Perl の書き方

実は結構知りたいのが他人がどうやって書いているのかという部分なのですが、ずばり見せてくれています。BGM が Nice Boat な件は置いておくとして、 エディタは Meadow (FreeBSD に WebDAV か samba で繋いでいる?) HTML の中身 (Xpath) を調べるのは Fireb…

IP アドレスのみを抜き出す

To extract a substring between two different tokens. 入力が以下のような場合に、 UDP:[192.168.2.143]:6752次のような出力をさせるというものです。 192.168.2.143書かれてあるようにいくつかの手法がありますが、以下のような回答がありました。 awk "{…

空行の削除

Trying to remove blank lines 文字化けも手伝って、問題が分からないのですが、anarchy golf - delete blank lines のまんまです。なので、回答はここには載せませんが、見たい人は見てください。 anarchy golf - delete blank lines の 2 byte じゃないも…

フィールドを変更し行を挿入する

inserting extra line with modified fields 正直言って、やりたいことが良く分からないのですが、以下のような内容です。 まず、fileA があります。 1 a b c 2 e f g 3 i j k 4 m n oで、fileB があります。 1 q r s t 1 u v w x 2 y z a b 2 c d e f 3 g h…

HTML から URI を抜き出す

Getting URIs from HTML これは awk を使っている時に参考になる質問かな。 以下のような HTML の場合に拡張子が ext のものの URI を抜き出すというものです。 <html> <body> </body> </html> Tiago Peczenyj の回答が分かりやすいです。徐々に解読しているような方法です。 最初に R…

最初の行の文字を比較する

Compare a token from beginning of the line. 最初に 'india' というキーワードがあった場合に行を表示するというものです。以下のようなものを作成したけれど動作しないという内容です。 #! /bin/sh read line flag=awk /^india/ $line echo $flag #end 修…

最初の 0 を取り除く

an easy one $1 から $NF までの中の最初の '0' を取り除きたいというものです。また、awk だけでなく、grep, sed での解法もあれば教えて欲しいというものです。 いくつか回答が出ています。 sed 's/\s0\s/ /' youfile |<< >|awk| awk '$1=="0"{$1=""} 1' y…

単語の挿入

to insert a word after a particular token in the input line 初心者からの質問のようですが、以下のようなことをしたいようです。 Input Line: Shell scripting is a programming language output line: Shell scripting is a powerful programming langu…

zsh-history からコマンドの実行回数を出す

何度か書いているのですが、書き直してみました。書き方のスタイルが変わっていってます。(^^; 元ネタは以下のものです。 [Plagger][SBM] Publish::NiftyClip と Publish::FC2Bookmark を追加, [VB][indent] だれか indent たのむ, [zsh][awk][command]zsh-h…