У меня есть этот файл-образец для моего ввода:
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, но мне не удалось.
Спасибо за помощь заранее.