スクリプトを作成しました:
#!/usr/bin/env ruby
# Move unknown files in a Bazaar repository to the trash.
#
# Author: Benjamin Oakes
require 'fileutils'
TRASH_DIRECTORY = File.expand_path('~/.Trash/')
stdout = %x(bzr stat)
within = false
stdout.each_line do |line|
if line.match(/^unknown:$/)
within = true
next
elsif line.match(/^[a-z]+:$/i)
within = false
next
end
if within
FileUtils.move(line.match(/^\s+(.*?)$/)[1], TRASH_DIRECTORY)
end
end
少しだけテストしましたが、問題なく動作しているようです。コメントで問題を見つけた場合はお知らせください。
sed
別のトピックで、 &を学ぶべきawk
ですか? 私はこれらのことを を使って書く傾向がありruby -e "some ruby code"
ます。