オブジェクト指向スクリプト言語。サーバプロセスからone-linerまで何でもこなす優れモノらしいが、まだド素人な私が真髄を理解できるようになるにはしばらくかかりそうだ。とりあえず、sedやawkの代替たり得るのか見極めたい。

link *

perlだが

ド素人メモ *

ド素人実例 *

恥ずかしいので私以外の人はあんまり見ないで下さい。

ハイフン囲み部分除去 *

ハイフンから成る行で挟まれた部分、即ちハイフンの「内側」を削除する(表示しない)テキストフィルタ。但し冒頭から最初のハイフン行までは「外側」とする。

ruby -e 'd=true; c=/^-+$/; while gets; if not c=~$_; if d; print $_; end; else; d=(not d); end; end;'

カレントディレクトリ内のファイルを列挙 *

列挙する条件もあると便利。でもlsとシェルのワイルドカードの方が便利かも

files = Dir.entries(Dir.pwd).find_all{|x| x =~ /.*\.rb$/}.each do |rubyfile|
  puts rubyfile
end

ファイル名に連番つけて拡張子も変える *

愚直に

puts "test.rb".gsub(".rb",sprintf("%03d.html", n))

文字列の追加は

<<

cf.

正規表現のマッチ結果を利用(バックリファレンス) *

丸カッコで正規表現を囲む

/(\d)\.rb/ =~ "test5.rb"
puts $1

一括rename *

1.bmp, 2.bmp ... とあるファイルの体裁をもうちょっと整える。

linenum = ARGV.shift.to_i
Dir.foreach(Dir.pwd) do |file|
  if file =~ /\d+\.bmp/
    File.rename(file, file.sub(/(\d+)/){sprintf("line%02d_%04dum", linenum, ($1.to_i-1) * 250)} )
  end
end

GUI *

link *

紹介 *

各論 *

おまけ