Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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