반응형
grep에서 새 줄에 패턴을 제공하는 방법은 무엇입니까?
grep에서 새 줄에 패턴을 제공하는 방법은 무엇입니까? 처음에는 새 줄, 끝에는 새 줄. 정규식 방식이 아닙니다. \ n 같은 것.
grep 패턴은 개별 줄과 일치하므로 패턴이 입력에서 찾은 줄 바꿈과 일치 할 방법이 없습니다.
그러나 다음과 같은 빈 줄을 찾을 수 있습니다.
grep '^$' file
grep '^[[:space:]]*$' file # include white spaces
pcregrep일반 대신 시도하십시오 grep.
pcregrep -M "pattern1.*\n.*pattern2" filename
이 -M옵션을 사용하면 여러 줄에서 일치시킬 수 있으므로 개행 문자를 \n.
이런 식으로 사용할 수 있습니다 ...
grep -P '^\s$' file
-PPerl 정규식 (POSIX 확장grep)에 사용됩니다.\s공백 문자와 일치합니다. 뒤에이면*빈 줄도 일치합니다.^줄의 시작과 일치합니다.$줄의 끝과 일치합니다.
@jarno 덕분에 나는 -z 옵션에 대해 알고 있으며 -P 옵션과 함께 GNU grep을 사용할 때 일치하는 \n것이 가능하다는 것을 알았습니다 . :)
예:
grep -zoP 'foo\n\K.*'<<<$'foo\nbar'
인쇄물 bar
해결 방법 (non-portable을 사용하지 않음)에 관해서는 -P개행 문자를 임시로 다른 문자로 바꾸고 다시 변경할 수 있습니다. 예 :
grep -o "_foo_" <(paste -sd_ file) | tr -d '_'
기본적으로 그것은 정확히 일치 찾고 _foo_곳 _수단을 \n(너무 __= \n\n). tr '_' '\n'어쨌든 각 패턴이 새 줄에 인쇄 되므로으로 다시 번역 할 필요가 없으므로 제거 _하면 충분합니다.
방금 발견
grep $'\r'
$'\r'Bash에서 c 스타일 이스케이프에 사용 됩니다.
에서 이 문서
참고 URL : https://stackoverflow.com/questions/12652568/how-to-give-a-pattern-for-new-line-in-grep
반응형
'Program Club' 카테고리의 다른 글
| 모바일 웹에서 핀치 줌 비활성화 (0) | 2020.11.06 |
|---|---|
| 설정되지 않은 경우에만 Ant 속성을 설정하는 방법 (0) | 2020.11.06 |
| 사용자 'root'@ 'localhost'에 대한 액세스가 거부되었습니다 (비밀번호 사용 : YES)-권한이 없습니까? (0) | 2020.11.06 |
| UITextView에서 프로그래밍 방식으로 iOS8 Quicktype 키보드 비활성화 (0) | 2020.11.06 |
| RecyclerView의 빠른 스크롤 (0) | 2020.11.06 |