Шаблон [^echo]
соответствует любому символу, кроме e
, c
, h
и o
. Например, строка ввода «echo utility 123124135» содержит все эти символы, но она также содержит символы, которые не e
, c
, h
или o
. Так что соответствует шаблону. Так же поступают и все остальные строки, потому что все они содержат символы, отличные от этих.
Если вы добавите строку ввода «echohce» в свой файл данных, вы должны заметить, что она пропускается при запуске grep с вашим шаблоном, поскольку не содержит какие-либо другие символы.
Если вы хотите, чтобы grep выводил все строки, которые не содержат текст "echo", попробуйте grep -v echo test
. Переключатель -v
указывает grep инвертировать смысл совпадения: выходные строки, которые не соответствуют шаблону. И шаблон «эхо» будет соответствовать любой строке, содержащей текст «эхо».
Если вы пытаетесь вывести все строки, которые начинают с "echo", тогда попробуйте grep ^echo test
.