2015-05-16 4 views
1

мне нужно Grep на текстовый файл, например, это файлGrep квадратные скобки, Unix Баш

[Hey my][aaaaaaa] 
bla bla bla 
bla bla 

Я хочу, первая линия, где слова «Эй мой» apears

Так что это мой код:

grep "Hey my" file.txt | head -n 1 

, но это даст всю первую линию, мне нужны первые квадратные скобки только

Как я это делаю?

+0

вам нужны квадратные скобки также? – Amit

ответ

3

cut Использование:

grep "Hey my" test | cut -d[ -f1-2 

Это будет работать практически на любой Unix (Mac OS, BSD) или Linux.

2

Возможно, вы захотите посмотреть флаг -o с GNU grep. Он будет показывать только те части линии, которые соответствуют. Кроме того, -m остановится после некоторого количества матчей, так что вы могли бы сделать эти 2 команды, как

grep -m 1 -o "Hey my" file.txt 

Который будет просто дать вам «Эй мой», как результат.

Если вы хотите скобки тоже, так как скобки задают классы символов в регулярных выражениях вы, вероятно, хотите добавить -F флаг сказать grep не использовать регулярные выражения, как

grep -m1 -oF "[Hey my]" file.txt 
Смежные вопросы