Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PDOXpander has a deprecated constructor in /usr/home/void/domains/programowo.net/public_html/core/PDOXpander.class.php on line 11 grep i wyświetlanie kilku linii przed i po znalezionym ciągu - Programowo.net

grep i wyświetlanie kilku linii przed i po znalezionym ciągu

Data publikacji: 2016-02-09 | Tagi:

Grepa używa chyba każdy, a przynajmniej powinni używać go czytelnicy tego bloga ;), ale nie każdy wie o przydatnych opcjach pozwalających wyświetlić kilka linii przed i po znalezionym ciągu.

Niech przykładowy plik test.txt posiada następujące wpisy:

Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Mauris quis eleifend dolor.
Cras ullamcorper lorem id luctus aliquet.
Nullam vitae lobortis sem, ac venenatis nisl.
Pellentesque a ultrices nunc.
Sed tristique purus sit amet elit euismod, ut bibendum lacus semper.

Wywołując grep z różnymi parametrami otrzymamy:

grep -n "Cras" test.txt

3:Cras ullamcorper lorem id luctus aliquet.
grep -rn -A 1 "Cras" test.txt

3:Cras ullamcorper lorem id luctus aliquet.
4-Nullam vitae lobortis sem, ac venenatis nisl.
grep -rn -A 1 -B 2 "Cras" test.txt

1-Lorem ipsum dolor sit amet, consectetur adipiscing elit.
2-Mauris quis eleifend dolor.
3:Cras ullamcorper lorem id luctus aliquet.
4-Nullam vitae lobortis sem, ac venenatis nisl.
grep -rn -A 5 -B 2 "Cras" test.txt

1-Lorem ipsum dolor sit amet, consectetur adipiscing elit.
2-Mauris quis eleifend dolor.
3:Cras ullamcorper lorem id luctus aliquet.
4-Nullam vitae lobortis sem, ac venenatis nisl.
5-Pellentesque a ultrices nunc.
6-Sed tristique purus sit amet elit euismod, ut bibendum lacus semper.

Z obserwacji zachowania można łatwo wywnioskować, że -A oznacza ilość linii do wyświetlenia po znalezionym ciągu, a -B oznacza ilość linii do wyświetlenia przed znalezionym ciągiem.


Oceń ten post:
Podziel się:

comments powered by Disqus

IT w obrazkach: