Я в настоящее время использую grep для определения местоположения строки в файле. Однако я получаю результат, который я не хочу.
Пример произвел:
user@user:~/tmp$ grep "z=" note > tmp.txt | cat tmp.txt
z=0.016728
S_1.4 GHz= 1597.61548 mJy, for L_1.4=1E24 W Hz^-1 (index=0.8)
Я не хочу использовать grep для игнорирования всех результатов после z=0.016728, потому что я не могу гарантировать, что файловая структура, которую я использую, будет всегда иметь z = перед GHz =.
Я хотел бы проигнорировать что-либо без новой строки или с символьным значением прежде z =.
Исходя из примера, который вы дали, самым простым вариантом было бы привязать выражение к началу строки:
grep '^z=' note
В качестве альтернативы, вы можете сопоставить только после граница слова :
grep '\bz=` note
Перечитать man grep
, и используйте Расширенный grep
с простым Регулярным выражением (и одинарные кавычки для предотвращения оболочки expandion всегда):
grep -E '^z=' note