Общие рекомендации обслуживания Ubuntu

Для переименования нескольких файлы подобным способом, я нашел следующий сценарий очень полезным и устойчивым за эти годы.

Это просто помещает вывод ls в Ваш любимый текстовый редактор. Вы просто изменяете текст, сохраняете, близко. Файлы переименованы соответственно.

Особенно замечательно при объединении этого с редактированием столбца Vi (Ctrl-v, выберите блок, I вставить прежде или A для вставки после введите текст, Esc).

#!/usr/bin/ruby

RM = '/bin/rm'
MV = '/bin/mv'

from = Dir.entries('.').sort; from.delete('.'); from.delete('..')
from.sort!

from.delete_if {|i| i =~ /^\./} # Hidden files

tmp = "/tmp/renamer.#{Time.now.to_i}.#{(rand * 1000).to_i}"

File.open(tmp, 'w') do |f|
  from.each {|i| f.puts i}
end

ENV['EDITOR'] = 'vi' if ENV['EDITOR'].nil?
system("#{ENV['EDITOR']} #{tmp}")

to = File.open(tmp) {|f| f.readlines.collect{|l| l.chomp}}
`#{RM} #{tmp}`

if to.size != from.size
  STDERR.puts "renamer: ERROR: number of lines changed"
  exit(1)
end

from.each_with_index do |f, i|
  puts `#{MV} -v --interactive "#{f}" "#{to[i]}"` unless f == to[i]
end

Я называю этот сценарий renamer.

2
задан 28 March 2013 в 12:36
1 ответ

Добро пожаловать в ServerFault! Обычно мы задаем здесь один вопрос на вопрос, но, поскольку вы новичок, я прощу вас один раз :)

  1. Вы останетесь на 12.04.x ​​LTS, поэтому вы получите обновления, эквивалентные выпускам 12.04.x , но не 12.10
  2. Да, это вызовет простои, например, обновления apache перезапускают apache. Вам также потребуется перезагрузка для обновлений ядра. Если вам нужна высокая доступность, это совершенно другая тема :)
  3. Иногда исправления безопасности требуют обратно несовместимых изменений. По моему опыту, это случается редко и всегда правильно объявляется в уведомлениях о безопасности ubuntu.
3
ответ дан 3 December 2019 в 10:51

Теги

Похожие вопросы