Сделал скрипт:
#!/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"
.