View previous topic :: View next topic |
Author |
Message |
790
Joined: 09 Aug 2008 Posts: 309
|
(Separately) Posted: Tue Oct 10, 2023 14:10 Post subject: Сравнение по содержимому: кроме заданных разделителей |
|
|
Сравнение по содержимому: 2 текстовых файла таблицы стилей css. Там есть строки "закоментированные", начинаются с "/* " и такие же "незакоментированные", начинаются с @. Если разница только в наличии "/* " в начале строки, то такие строки меня не интересуют.
Отсюда вопрос:
1. Как искать различия в любом месте строки, кроме тех строк, у которых единственное различие только в "/* " в начале строки.
2. Или, если включить "Метод 3: Находить ... возле заданных разделителей", то как редактировать этот список разделителей, чтобы различие возле этих самых разделителей НЕ учитывалось, т.е. как бы наоборот.
Извиняюсь за спутанные объяснения, мне пока ещё не указали на нужные термины... _________________ TC 11.03, Win10x64
Cuda уехал text, он был ещё вчераа... |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
(Separately) Posted: Sun Apr 21, 2024 01:01 Post subject: |
|
|
790
Кажется, я в программе Beyond Compare видел подобный функционал. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10280 Location: Россия, Саратов
|
(Separately) Posted: Sun Apr 21, 2024 06:58 Post subject: |
|
|
790
1. Произвольные начальные символы можно исключить из сравнения парой экспериментальных ключей CompareSkipFirstL (количество игнорируемых символов в файле слева) и CompareSkipFirstR (их количество в файле справа). Подробности в справочнике по ключам, в официальной справке TC функция (хотя и старая) до сих пор не документирована, поскольку недостаточно доработана. Есть также свежий ключ CompareSkipLineNumbers, но он про другое, там только начальные цифры не учитываются (тут подробности по-русски вскоре будут в более новой версии справочника).
2. Что касается метода 3, то в ключе CompareResyncSeparators имеется по умолчанию определённый набор символов-разделителей (см. тот же справочник). Можно попробовать явным образом указать его значением только то, что вам нужно, не включая ненужное. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Sun Apr 21, 2024 10:05 Post subject: |
|
|
790
Есть еще программа Compare it! (аналог Beyond Compare).
Там можно задать регулярным выражением разные варианты для исключения. В вашем случае примерно так:
"Заменить" оставить пустое. Будет пропускать при сравнении строки с комментариями вида " /* comment". |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 268
|
|
Back to top |
|
|
790
Joined: 09 Aug 2008 Posts: 309
|
(Separately) Posted: Mon Apr 22, 2024 16:36 Post subject: |
|
|
Avada Спасибо.
1. С CompareSkipFirstL так не работает, потому что строки, которые начинаются с @ не имеют 3х пробелов вместо "/* " перед собой:
/* @text
/* @text
@text
/* @text
@text
@text
CompareSkipFirstL просто уберёт первые три знака во всех строках.
2. Также не работает.
Меня интересуют строки, где произошли какие-то изменения в text, чтобы когда я ставлю галочку "Только различия", показывались только эти строки. Если в строке разница ТОЛЬКО в наличии/отсутствии "/* ", то такие строки не интересны, потому что это я сам делал эти изменения. _________________ TC 11.03, Win10x64
Cuda уехал text, он был ещё вчераа... |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 240
|
(Separately) Posted: Tue Apr 23, 2024 01:11 Post subject: |
|
|
790
С уточнением стало понятнее. То, о чем я писал выше, но с регуляркой:
Должно помочь. Получается, просто перед сравнением заменяется «/* » на ничего, а соответственно эта строка становится строкой без комментария, и если она равна в таком виде со строкой в другом файле, то выделяться не будут. |
|
Back to top |
|
|
790
Joined: 09 Aug 2008 Posts: 309
|
(Separately) Posted: Tue Apr 23, 2024 14:07 Post subject: |
|
|
Monarch-LFV
Да, спасибо, это работает. Но... не будем здесь обсуждать посторонний софт И всё-таки хотелось бы делать это в ТС. _________________ TC 11.03, Win10x64
Cuda уехал text, он был ещё вчераа... |
|
Back to top |
|
|
|