Следующий 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 *
К grep шаблон в определенном файле, и получают согласующие отрезки длинной линии:
grep -n <Pattern> <File> | awk -F: '{ print $1 }' | sort -u
или использование cut
, как предложено @wjandrea:
grep -n <Pattern> <File> | cut -f1 -d: | sort -u
, где
<Pattern>
заключенный в кавычки шаблон шарика (используют опцию -E
для regexp); <File>
файл, которым Вы интересуетесь; awk ...
фильтры номера строки в выводе grep (перед :
на каждой строке); нет необходимости в -r & amp; -e!
получить номер строки шаблона!
grep -n "pattern" file.txt
, если вы хотите получить только номер строки в качестве вывода, добавьте к нему еще одну команду grep!
grep -n "pattern" file.txt | grep -Eo '^[^:]+'