У меня есть два файла snmpd.conf, один на работающем сервере, а другой нет. Как я могу различить два файла конфигурации, удаляя ненужные комментарии и переводы строк?
linux
configuration
diff
jldugger
источник
источник
level
! =)Ответы:
Чтобы избежать пустых строк и строк, содержащих только пробелы, в дополнение к одинаковым строкам, которые имеют единственное отличие от добавленных начальных пробелов ...
К этому моменту я, вероятно, поместил бы это в сценарий и написал бы что-то вроде оригинального предложения, которое было бы немного более читабельным.
источник
Если вы в некоторой степени довольны vim , я настоятельно рекомендую вам использовать vimdiff :
Это откроет сеанс vim с двумя панелями, с одним файлом на каждой стороне. Подсветка и цвет укажут различия между файлами, и все идентичные части будут скрыты (свернуты, но расширяемы).
Затем, если вы хотите выборочно объединить различия из одного файла в другой, вы можете использовать следующие команды:
(Считайте, что «текущий файл» - тот, где находится курсор)
^ W ^ W, чтобы изменить фокус с окна одного файла на окно другого файла
] c перейти к следующему блоку с различиями
[c для обратного поиска предыдущего блока с различиями
делать ( d тогда и только тогда о btain) , чтобы изменения из другого файла в текущий файл
dp ( d iff p ut) для отправки изменений из текущего файла в другой файл
Примечание: оба делают и dp работают, если вы находитесь в блоке или только одна строка под блоком.
у к у NDo
zo развернуть / скрыть текст
ZC, чтобы сложить / повторно скрыть текст
zr полностью развернет оба файла (используйте : help fold для более подробной информации о сворачивании)
: diffupdate повторно проверит файлы на наличие изменений
Когда вы начнете перемещать измененный текст или вносить изменения, идентичные теперь части файлов тоже будут автоматически сворачиваться.
Когда вы закончите, вы можете выйти и записать оба файла с помощью : xa!
Вы также можете написать, выйти, отменить изменения и т. Д. По одной панели за раз, как вы это обычно делаете с vim.
Вы можете использовать все распространенные команды vim для редактирования файлов по желанию; Я описал только наиболее распространенные и полезные команды, которые вы, вероятно, будете использовать в сеансе vimdiff (в отличие от универсальной vimdiff).
источник
Beyond Compare - лучший инструмент для этого!
Ссылка: http://www.scootersoftware.com/
Доступно для Windows и Linux.
Некоторое время назад Джефф написал хорошую обзорную статью об инструменте:
http://www.codinghorror.com/blog/archives/000454.html
источник
Разобравшись с однострочником nima, вы можете сделать это как функцию оболочки и поместить ее в свой .bashrc
становится (используя -u, потому что мне нравятся унифицированные различия)
Если вам нравятся средства просмотра различий в GUI, meld хорош, и он понимает файлы / каталоги, контролируемые ревизиями.
источник
После очистки комментариев я бы посоветовал использовать KDiff3, это довольно хороший инструмент сравнения / слияния, и вам не нужен vim fu, чтобы использовать его :)
источник
Там может быть более элегантный способ сделать это, но прагматично (и быстро):
источник
Если вы используете оболочку, похожую на bash, вы можете попробовать это:
Затем вызовите это так:
Вы также можете перейти
diff
наvimdiff
или сgvimdiff
обоимиvim
.источник
Расширяя решение Xerxes, вы можете использовать более сложные инструменты, чем
diff
для отображения различий.wdiff
wdiff
время от времени может быть «слишком умным», но я часто нахожу это полезным, чтобы быстро взглянуть на различия между файлами конфигурации. Этот скрипт можно использовать для вывода с цветами:В Ubuntu и других системах на основе Debian просто
apt-get install wdiff
перед использованием этого скрипта.Meld
Meld - хорошая альтернатива графическому интерфейсу, но у его функции «Фильтрация текста» есть некоторые проблемы. Вместо использования текстовой фильтрации я полностью удаляю комментарии, прежде чем показывать результаты в Meld. Недостатком является потеря возможности редактировать файлы при их сравнении. Вот простой скрипт для использования Meld:
источник
Иногда, несколько дополнительных общих строк могут быть удалены путем сортировки файлов перед diff, поэтому я бы добавил к тому, что уже написано следующее:
это, конечно, имеет смысл для файлов, где порядок строк не влияет на их содержимое (так что имейте это в виду).
источник
Это то же самое, что один вкладыш Нимы, но он будет отфильтровывать пустые строки, как кто-то просил.
(Я бы также установил colordiff, если это возможно, и использовал бы его вместо обычного diff)
источник
Я использую WinMerge http://winmerge.org для сравнения файлов, при условии , что мне нужно перенести их на свою машину, но это работает для.
источник