У меня проблема с grep. У меня есть файл http://pastebin.com/HxAcciCa, который я хочу проверить для определенных шаблонов. И когда я "пытаюсь искать для него Grep возвращает все строки при условии, что модель уже существует в данном файле.Почему grep соответствует всем строкам независимо от того, какой шаблон
Чтобы объяснить более это код, который я бегу
grep -F "ENVIRO" "$file_pos" >> blah
Нет . неважно, что еще я стараюсь, даже если я обеспечиваю всю линию как шаблон Баш всегда возвращает все строки
Эти вариант того, что я пытаюсь:
grep -F "E20" "$file_pos" >> blah
grep E20 "$file_pos" >> blah
grep C:\E20-II\ENVIRO\SSNHapACS480.dll "$file_pos" >> blah
grep -F C:\E20-II\ENVIRO\SSNHapACS480.dll "$file_pos" >> blah
Кроме того, для некоторых странных причин при добавлении - x для grep, it не возвращает никакой линии, несмотря на то, что существует точная модель.
Я искал в Интернете и документацию bash по причине, но ничего не мог найти.
Мой последний тест был следующим
grep -F -C 1 "E20" "$store_pos" >> blah #store_pos has the same value as $file_pos
Я думал, может быть, это была печать строки после результата, но это было не так. Я использовал файл blah, чтобы увидеть результат. Также я использую Linux mint rebecca. Наконец, хотя именование довольно знакомо, этот вопрос не похож на Why does grep match all lines for the pattern "\'"
И, наконец, я хотел бы сказать, что я новичок в bash. Я подозреваю Ошибка может быть связана с главным файлом http://pastebin.com/HxAcciCa, а не с кодом?
Вы присоединяетесь к 'блаху'. Где часть, где вы усекаете ее, чтобы она была пустой? –
Такие вещи, как 'grep -F C: \ E20-II \ ENVIRO \ SSNHapACS480.dll" $ file_pos "' не могут работать, обратные косые черты должны быть экранированы или кавычки, если вы хотите, чтобы они были переданы в grep. Итак: 'grep -F 'C: \ E20-II \ ENVIRO \ SSNHapACS480.dll'" $ file_pos ". И это можно комбинировать с '-x'. Но эта проблема должна иметь обратный эффект: у вас не должно быть совпадений, а не каждой строки в качестве соответствия. – hvd
проблема с окончанием строки в файле? проверьте hexdump или 'cat -vET filename'. –