Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

AWKっぽい操作をRubyの構文でやるCLIツール「gr8」 その9:ファイル移動まわり

ディレクトリ作成まわりのメソッドは、以下に示す4つがあります。
このあたりだと、mvやcpとsedの合わせ技で代用できますね。

$ ls | gr8 'copy_as    { sub(/\.htm$/, ".html") }'
$ ls | gr8 'rename_as  { sub(/\.htm$/, ".html") }'
$ ls | gr8 'copy_to  { "some/where/directory/" }'
$ ls | gr8 'move_to  { "some/where/directory/" }'

通常のRubyと同様、"!"は破壊的メソッドです。
これは-Fオプションとだいたい同じ挙動でしょう。

$ ls | gr8 'copy_as!   { sub(/\.htm$/, ".html") }'  
$ ls | gr8 'rename_as! { sub(/\.htm$/, ".html") }' 
$ ls | gr8 'copy_to! { "some/where/directory/" }'  
$ ls | gr8 'move_to! { "some/where/directory/" }'  

さらに、"mkdir_and"をつけると、ディレクトリが存在しない場合新規に作ってくれます。
このメソッドなら、行数削減に貢献しそうですね。
速度は相変わらずなので、局面は選びますが

参考もと

Gr8 by kwatch