タグ

unixに関するshirai-satoruのブックマーク (8)

  • diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp

    UNIXの基的なコマンドの1つであるdiff。 これに実装されているアルゴリズムは実に興味深い世界が広がっています。 稿では、筆者が開発した独自ライブラリ「dtl」をもとに「diffのしくみ」を解説します。 はじめに diffは2つのファイルやディレクトリの差分を取るのに使用するプログラムです。 ソフトウェア開発を行っている方であれば、SubversionやGitなどのバージョン管理システムを通して利用していることが多いかと思います。稿ではそのdiffの動作原理について解説します。 差分の計算の際に重要な3つの要素 差分を計算するというのは次の3つを計算することに帰結します。 編集距離 2つの要素列の違いを数値化したもの LCS(Longest Common Subsequence) 2つの要素列の最長共通部分列 SES(Shortest Edit Script) ある要素列を別の要

    diffの動作原理を知る~どのようにして差分を導き出すのか | gihyo.jp
  • Geekなぺーじ:10のUNIX小技

    IBMのサイトで「Learn 10 good UNIX usage habits」という記事が発表されていました。 面白かったので要約してみました。 変な部分があるかも知れないので詳細は原文をご覧下さい。 原文とは一部異なります。 ページスペースなどの関係でコマンド引数などを短く省略しています。 原文のサンプルコマンドが間違っていたりするので、修正している部分もあります。 原文を修正しているのは、tar.gzをzオプションを使わないでxfvしようとしているところと、xargsにlsではなくls -lを渡している部分です。 あと、説明文を短くしてしまっています。 1. ディレクトリの作成 良く使うコマンドの一つであるmkdirですが、面倒臭い使い方をしていませんか? 悪い例 ~/ $ mkdir a ~/ $ cd a ~/a $ mkdir b ~/a $ cd b ~/a/b/ $ m

  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • zshでホストごとに色を変える - val it : α → α = fun

    いろいろあってこのところzshに関係することをあれこれやっていたりしてたんですが、やってるうちに思いついたことがありまして。 わたしはzshのRPROMPT(プロンプトの右端に出てくる文字)にユーザ名とホスト名を入れるという設定をしています。で、ユーザ名は通常は黄色なんだけど、suしたりsudo -sしたりしたときには赤くなる、という設定にしている。これはなかなか目立ってよろしいわけです。 でもまあ、昔はそうでもなかったんだが近頃じゃ滅多にsudo -sもしないし。そうすると色が変わることのメリットがあんまないんですわ。まああんまりなくてもやっておく意味はあるんですけど、この「色が変わる」というのはほかに活かせるんではないかと唐突に思いまして。たとえば、いろんなホストで作業するときにはマシンごとに色が変わると視認性が上がるんではないかと。 でまあどうしようかな、とちょっと思っていろいろ試し

  • pqrs.org: トップページ index

    ■ トップページ ■ その他のドキュメント SDL 2008夏off @ ドワンゴ Date: 2008-07-20 13:18 (JST) iPod touch の注意点 Date: 2007-10-15 22:32 (JST) SDL 2007夏off --初心に返って-- Date: 2007-07-17 00:19 (JST) SDL 2006年新春オフ 資料置場 Date: 2006-06-17 00:00 (JST) ThinkPad X40 でリカバリ CD を作らずに Linux 等をインストールした場合の Windows のリストア方法 Date: 2004-09-15 00:00 (JST) 水没した HHK2 を救え!! Date: 2002-08-30 00:00 (JST) ■ 思い付き供養 Thunderbird Terminal というのはどうか。 Date:

  • UNIX処方箋:WWW::MechanizeモジュールによるWebアクセスの自動化 - ITmedia エンタープライズ

    郵便番号検索などが行えるWebサイトをよく利用します。ただ、毎回Webブラウザで項目を入力して検索するのは面倒なので、スクリプトなどを利用したいと考えています。どのように実現したらよいでしょうか? 一般的なCGIに対しては、Perlスクリプトなどを用いると簡単に検索できます。ここでは、「MACアドレスのベンダーコード検索」サービス用のスクリプトとして、WWW::Mechanizeモジュールを利用したoui-search.plを紹介します(リスト1)。 なおシステムには、PerlおよびWWW::Mechanizeモジュールを事前にインストールしてください。WWW::Mechanizeモジュールは依存するものが複数あるので、CPANモジュールを利用すると簡単に導入できます。 1 #!/usr/bin/perl -w 2 3 use strict; 4 use WWW::Mechanize; 5

  • シェルスクリプトの書き方 - odz buffer

    ref:関数プログラミング的なシェルスクリプト via:Ryoの開発日記 - シェルスクリプトよくわかんね どこからつっこめばいいのやら。 コマンド置換とパス展開 ディレクトリ以下のファイルがほしいなら `ls ${2}` ではなく素直に "$2"/* でいいのでは。 クォート どのような入力がくるかわからないときはちゃんと引用符で囲みましょう。 if [ -f $FULL ]; then $1 $FULL; fi ではなく、きちんと if [ -f "$FULL" ]; then "$1" "$FULL"; fi とする。 リダイレクト #! /bin/bash cat $1 | tr -d '\r' > $1 これがうまく動いているのはたまたま。理由は以前書いたので、そちらを参照。 というかね、こういうことはいちいちシェルスクリプトをつくるんではなくて、find と xargs を使う

    シェルスクリプトの書き方 - odz buffer
  • 1