tldr/pages.tr/common/grep.md

37 lines
1.5 KiB
Markdown
Raw Normal View History

2022-10-12 04:14:07 +01:00
# grep
2022-10-31 23:05:11 +00:00
> Düzenli ifadeler (Regex) kullanarak dosyalardaki kalıpları bul.
> Daha fazla bilgi için: <https://www.gnu.org/software/grep/manual/grep.html>.
2022-10-12 04:14:07 +01:00
2022-10-31 23:05:11 +00:00
- Bir dosya içinde kalıp ara:
2022-10-12 04:14:07 +01:00
`grep "{{aranan_kalıp}}" {{dosya/yolu}}`
- Tam bir dize ara (düzenli ifadeleri devre dışı bırakır):
2024-06-13 18:08:33 +01:00
`grep {{-F|--fixed-strings}} "{{tam_dize}}" {{dosya/yolu}}`
2022-10-12 04:14:07 +01:00
- Bir dizindeki tüm dosyalarda bir kalıbı tekrarlı olarak ara, eşleşmelerin satır numaralarını göster, binary dosyaları göz ardı et:
2024-06-13 18:08:33 +01:00
`grep {{-r|--recursive}} {{-n|--line-number}} --binary-files={{without-match}} "{{aranan_kalıp}}" {{dosya/yolu}}`
2022-10-12 04:14:07 +01:00
- Büyük/küçük harfe duyarsız modda genişletilmiş düzenli ifadeleri (`?`, `+`, `{}`, `()` ve `|` destekler) kullan:
2024-06-13 18:08:33 +01:00
`grep {{-E|--extended-regexp}} {{-i|--ignore-case}} "{{aranan_kalıp}}" {{dosya/yolu}}`
2022-10-12 04:14:07 +01:00
- Her eşleşmenin etrafında, öncesinde veya sonrasında 3 satır içerik yazdır:
`grep --{{context|before-context|after-context}}={{3}} "{{aranan_kalıp}}" {{dosya/yolu}}`
- Renkli çıktı ile her eşleşme için dosya adını ve satır numarasını yazdır:
2024-06-13 18:08:33 +01:00
`grep {{-H|--with-filename}} {{-n|--line-number}} --color=always "{{aranan_kalıp}}" {{dosya/yolu}}`
2022-10-12 04:14:07 +01:00
- Bir kalıpla eşleşen satırları ara, yalnızca eşleşen metni yazdır:
2024-06-13 18:08:33 +01:00
`grep {{-o|--only-matching}} "{{aranan_kalıp}}" {{dosya/yolu}}`
2022-10-12 04:14:07 +01:00
- Bir kalıpla eşleşmeyen satırlar için `stdin`'de arama yap:
2022-10-12 04:14:07 +01:00
2024-06-13 18:08:33 +01:00
`cat {{dosya/yolu}} | grep {{-v|--invert-match}} "{{aranan_kalıp}}"`