Следующий grep
grep -r -e -n coll *
отобразит
fullpath/filename: <tag-name>coll</tag-name>
Я хотел бы знать, какая строка имеет следующий текст, я попытался добавить -n
, но это не сработало , Я попытался добавить | grep -n *
, но это сделало что-то странное.
То, что я хотел бы видеть (меня не волнует формат), это
fullpath/filename:10: <tag-name>coll</tag-name>
Вы должны поставить -e
в конце списка опций: grep -rne coll *
нет необходимости в -r & amp; -e!
получить номер строки шаблона!
grep -n "pattern" file.txt
, если вы хотите получить только номер строки в качестве вывода, добавьте к нему еще одну команду grep!
grep -n "pattern" file.txt | grep -Eo '^[^:]+'
cut
, например, cut -f1 -d:
– StingyJack
28.07.2018, 05:21
Чтобы найти шаблон в определенном файле и получить соответствующие строки:
grep -n <Pattern> <File> | awk -F: '{ print $1 }' | sort -u
или используя cut
, как предложено @wjandrea:
grep -n <Pattern> <File> | cut -f1 -d: | sort -u
где [1114 ]
<Pattern>
- шаблон глобуса в кавычках (используйте параметр -E
для регулярных выражений); <File>
- интересующий вас файл; awk ...
фильтрует номера строк в выходных данных grep (перед :
в каждой строке);