Ошибка grep: операнд оператора повторения недействителен

Я пытаюсь сравнить два файла, чтобы увидеть, все ли строки (в этом случае строки хороши, хотя они не упорядочены) из file1 присутствуют где-то в file 2 .

Я провел несколько исследований, и кажется, что команда grep -v -f file1 file2 должна быть в состоянии сделать это, однако я получаю операнд оператора повторения ошибки недействительным, когда я пытаюсь это сделать в командной строке.

Любая помощь будет оценена, спасибо!

One Solution collect form web for “Ошибка grep: операнд оператора повторения недействителен”

Сообщение об ошибке указывает, что одна или несколько строк в файле1 не соблюдают синтаксис регулярных выражений. Если вы ищете строки как есть, а не для регулярных выражений, вы должны использовать опцию -F (фиксированные строки).

Однако реальная проблема заключается в том, что вы не можете использовать grep для своей цели, потому что короткие строки могут ошибочно соответствовать более длинным строкам. Например, если file1 содержит пустую строку, то эта строка будет соответствовать всем строкам в файле2 .

Лучшим подходом является сортировка файлов и использование diff :

 TmpFile1=$(mktemp) TmpFile2=$(mktemp) sort $File1 >$TmpFile1 sort $File2 >$TmpFile2 # Display the lines in $File1 which do not appear in $File2 diff $TmpFile1 $TmpFile2 | grep '^>' | cut -c 3- # Delete the temporary files rm $TmpFile1 $TmpFile2 
  • Команды командной строки терминала
  • Тайм-аут оболочки Korn
  • Grep только в файлах, находящихся в определенных папках
  • Как получить последние N файлов в каталоге?
  • Просмотреть расширенные атрибуты с помощью coreutils ls на Mac
  • awk - читать программу И ввод со стандартного ввода?
  • Как получить записи таблицы psql в сценарии оболочки?
  • Должен ли я использовать косую черту в конце переменных пути в сценарии оболочки или нет?
  • Какой самый простой способ определить, какие сигналы отправляются процессу?
  • case + как реализовать равный или меньше или больше в случае синтаксиса
  • Почему знак «меньше» не работает в качестве замены кошки в bash?
  • Linux и Unix - лучшая ОС в мире.