Верните только номер строки, если у вас есть шаблон «Exist» и «Not Exist». используя команду «grep»

У меня есть этот файл-образец для моего ввода:

xyxxyx xyxx xxyx yxyy yxyx
xxyxxx xx xyx xxx x y x xxyy
yxxy xyxxy xxy y x y
xyxy xyx yyxx xyyxyxy xyx
yxyy xyy yxyx xxyxyyx

И я пытался найти только слово "xyx", если оно существует в строке и номере строки возврата. например, на этом входе только строки 2 и 4 имеют "xyx", и желаемый результат будет только 2 и 4 (номера строк), но команда grep даст мне все 5 строк. этот результат:

grep -n "xyx" test | cut -f1 -d:
1
2
3
4
5

Если я запустил следующую команду без cut -f1 -d", я вижу, что найти все "xyx", например, в "xyxxyx", "xyxx", "xxyx" и "yxyx", например в первой строке, в то время как это неверно, мой шаблон только и существует только в строках 2 и 4, и это третье слово в строке 2, а второй и amp; 5-е слово в строке 4. См. Снимок экрана:

                                                                                    [nd] d5]

вывод желаемого, если шаблон существует, это просто:

2
4

вывод желаемого, если шаблон не существует, это просто:

1
3
5

а также я не знаю, какую команду я должен использовать, чтобы проверить, не существует ли шаблон. Я пытался со всей возможной комбинацией команды grep, но мне не удалось.

Спасибо за помощь заранее.

1
задан 5 September 2014 в 01:42

0 ответов

Другие вопросы по тегам:

Похожие вопросы: