Często uruchamiam polecenia grep, aby znaleźć rzeczy w moim kodzie, ale problem z projektami internetowymi polega na tym, że często będą kompresowane pliki JavaScript i CSS, które tworzą jedną ogromną linię tekstu, więc jeśli zostanie znalezione dopasowanie, całe okno terminala jest wypełniony ponad 1000 linii, co sprawia, że znalezienie tego, czego szukam, jest niezwykle niepraktyczne.
Czy istnieje sposób na uniknięcie plików zawierających pojedyncze wiersze tekstu o długości ponad 200 znaków?
... | grep -v -E '.{200}'
, również działa. Np. Aby znaleźć wszystkie wiersze plików * .js w bieżącym katalogu z „.name” w nich, które nie mają więcej niż 200 znaków:find . -name "*.js" -exec grep -H \\.name {} \; | grep -v -E '.{200}'
Opcja 1: Możesz wykluczyć pliki pasujące do określonego wzorca:
Wykluczy to
script.min.js
istyle.min.css
... Innegrep
opcje obejmują--exclude-from=FILE
i--exclude-dir=DIR
Opcja 2: Nie jestem pewien, czy to jest praktyczne, ale możesz zrobić
cut
pierwsze 200 znaków każdej linii, a następniegrep
:Pierwszy
grep
dokonuje wstępnego dopasowania i wypisuje nazwę pliku i linii, drugi zapewnia, żePATTERN
nadal jest tam pocut
tingowaniu linii.źródło
W takiej sytuacji lubię wstawiać wzór w kontekście sąsiedztwa (powiedzmy 30 znaków):
źródło