Построчное сравнение txt файлов

  • Yapriehal 04.04.2024
    xKDE:
    От простого к более простому:
    grep `awk -F":" '{ print $1 }'<file1|grep -Fxvf file2` file1 > file3
    grep `cat file1| sed -r 's/:.+//'|grep -Fxvf file2` file1 > file3
    sort file2 file1 file2 | uniq -u --check-chars=5 > file3
    txt добавите сами, в linux это не принципиально. Последний вариант для простоты сравнивает первые 5 символов, первые два -ищут разделитель ":".
    И таких вариантов реализации ещё достаточно много...
    P.S.: если в конце уберете "> file3", то получите вывод прямо в терминал.

    Вот спасибо, мил человек! Не знаю почему, но начал я с конца, а именно с команды sort. И, в принципе, получил то, что должен был получить. Сейчас я побалуюсь этой командой и остальными и отпишу свои впечатления. Благодаря Вам сегодня я узнал, как минимум, одну новую команду :)
  • Yapriehal 04.04.2024
    xKDE:
    От простого к более простому:
    grep `awk -F":" '{ print $1 }'<file1|grep -Fxvf file2` file1 > file3
    grep `cat file1| sed -r 's/:.+//'|grep -Fxvf file2` file1 > file3
    sort file2 file1 file2 | uniq -u --check-chars=5 > file3
    txt добавите сами, в linux это не принципиально. Последний вариант для простоты сравнивает первые 5 символов, первые два -ищут разделитель ":".
    И таких вариантов реализации ещё достаточно много...
    P.S.: если в конце уберете "> file3", то получите вывод прямо в терминал.

    1. Что касается команды sort - все работает, а вот касаемо первых 2 команд - я не понял ни их ни то, как они работают. Вероятно, что-то пошло не так. Вот скрины:

    http://81.19.140.194/1.png

    http://81.19.140.194/2.png

    2. Сюда же добавлю вопрос тогда - возник в процессе:

    Предположим, что в file1.txt не во всех строках у нас до : 5 символов. Как нам выбрать и положить в отдельный файл только те строки, где до : 5 символов?
  • xKDE 04.04.2024
    Yapriehal:
    1. Вероятно, что-то пошло не так.
    Выйдете из под рута. Зачем Вы вообще под ним сидите, тем более, если это в центре сертификации?!
    Yapriehal:
    2. Как нам выбрать и положить в отдельный файл только те строки, где до : 5 символов?
    Если Ваши условия будут меняться в процессе выполнения, то никак! Сначала сформулируйте для себя, что нужно - затем решайте! Проверяйте 6-ой символ и если он ":", то далее по схеме!)
    P.S: https://ibb.co/85XX2Xq