Разность, не работающая, как я ожидаю

eval echo $(echo "word" | sed 's/./{\U&,\L&}/g')
  • sed 's/./{&,&}/g' превратил бы Foo в {F,F}{o,o}{o,o}, что было бы довольно бесполезно.  Но добавьте \U и \L и получите верхний и нижний регистр каждой буквы; i.e., {F,f}{O,o}{O,o}.
  • Тогда это простой вопрос использования eval, чтобы сказать оболочке. для расширения последовательностей {X,x} скоб.
0
19.10.2016, 10:28
3 ответа
[1184973] Как отметил @StephaneChazelas, вы забыли закрепить ваше регулярное выражение, поэтому [1185413]"> "[1185414] будет соответствовать [1185415]>[1185416] в строке [1185417]pqr <> pqr[1185418], которая находится только в [1185419]a. txt[1185420].

Но похоже, что фильтр должен показывать только новые или измененные строки в [1185421]b.txt[1185422]. Если вы используете GNU diff, он предлагает вам некоторые возможности для достижения этого напрямую:

  • -старый формат ''[1185424] удаляет все строки, которые не находятся в [1185425]b. txt[1185426], [1185427]-унчан-лайн формат ''[1185428] удаляет все строки, общие для обоих файлов, а [1185429]-новый формат '%L'[1185430] показывает только содержимое строк для всех новых или измененных строк в [1185431]b.txt[1185432]. Ведущая [1185433]>[1185434] подавляется. [1184978]
1
28.01.2020, 02:37
[1184407] Как заявил в комментариях @StephaneChazelas, это, похоже, не имеет никакого отношения к SSH. Выполняя все локально, я получаю те же результаты, что и вы, в основном:[12173]Команда [1184808]diff[1184809] выявляет строки, которые отличаются друг от друга, а строка [1184810]pqr <> pqrs[1184811] уникальна среди 2-х файлов. Вы можете использовать боковую разницу, чтобы увидеть, какие строки выстраиваются, если это поможет.[12174]Строки, которые похожи, но не идентичны, помечены с помощью команды [1184812]|[1184813]. Уникальные строки помечены символом [1184814]>[1184815], если только в файле #2, или [1184816]<[1184817], если только в файле #1. Идентичные строки не имеют такой маркировки[1184412].
1
28.01.2020, 02:37

Возможно, у вас есть лишние пробелы.

try

diff -w -B file1.txt file2.txt

-w Игнорировать все пробелы.

-B Игнорировать изменения, все строки которых пусты.

0
28.01.2020, 02:37

Теги

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