Инструмент в Unix для вычитания текстовых файлов?

KeyRemap4MacBook похож на него, должен сделать то, в чем Вы нуждаетесь. Это свободно и с открытым исходным кодом, и, кажется, получило хорошие обзоры.

16
29.09.2014, 17:37
2 ответа

Вы можете использовать GREP . Дайте ему небольшой файл в качестве ввода и сообщите ему, чтобы найти не подходящие строки:

grep -vxFf file.txt bigfile.txt > newbigfile.txt

Используемые параметры:

   -F, --fixed-strings
          Interpret PATTERN as a  list  of  fixed  strings,  separated  by
          newlines,  any  of  which is to be matched.  (-F is specified by
          POSIX.)
   -f FILE, --file=FILE
          Obtain  patterns  from  FILE,  one  per  line.   The  empty file
          contains zero patterns, and therefore matches nothing.   (-f  is
          specified by POSIX.)

   -v, --invert-match
          Invert the sense of matching, to select non-matching lines.  (-v
          is specified by POSIX.)
   -x, --line-regexp
          Select only those matches that exactly match the whole line.  
          (-x is specified by POSIX.)
28
27.01.2020, 19:47

Comm - ваш друг:

имя COMM - сравнить две сортированные файлы линии по строке

Synopsis Comm [Option] ... File1 File2

Описание Сравните отсортированные файлы file1 и строку file2 по строке.

  Без вариантов, создайте трехфункциональный выход.  Колонна одна содержит линии, уникальные для file1, столбец два содержит
  Линии уникальные для file2 и столбец три содержат строки, общие для обоих файлов.

  -1 подавить колонну 1 (линии уникальные для file1)

  -2 Sugpress Column 2 (линии уникальные для file2)

  -3 подавить колонну 3 (линии, которые появляются в обоих файлах)
 

( COMM , вероятно, будет иметь выгодную выгоду через GREP , поскольку он учитывает сортировку.)

Например:

comm -1 -3 file.txt bigfile.txt > newbigfile.txt
18
27.01.2020, 19:47

Теги

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