>

여기에 문자열 str1과 str2와 str3이 있습니다.

  • 모든 문자열이있는 줄을 찾는 방법
  • 줄이있는 줄을 찾는 방법?
  • 그리고 str1과 str2와 str3 중 하나가있는 줄을 찾는 방법 [둘 다 아닌가?]?
  • 답변 # 1

    이것은 세가지 질문처럼 보입니다. 이러한 종류의 표현식을 결합하는 가장 쉬운 방법은 여러 파이프를 사용하는 것입니다. 주문 독립성을 원한다는 것을 암시하는 것처럼 보이기 때문에 특히 정규 표현식 (egrep 사용)이 부적절하기 때문에 수치가 없습니다.

    그러면 순서대로

    <올>

    grep str1 | grep str2 | grep str3

    egrep '(str1 | str2 | str3)'

    grep str1 | egrep '(str2 | str3)'

    egrep을 사용하여 순서 독립적 인 방식으로 "and"형식을 수행 할 수 있지만 파이프 그렙을 사용하여 독립적으로 주문하고 독립적으로 또는 정규 표현식을 사용하여 주문하는 것이 더 쉽다는 것을 기억할 것입니다.

    yz

    grep 때문에 "all"또는 "this plus both"중 하나를 합리적으로 할 수 없습니다  미리보기를 지원하지 않습니다. Perl을 사용하십시오. "모든"사례의 경우 egrep '(str1|str2|str3)' file .

    '전체'사례를 수행하는 비합리적인 방법은 다음과 같습니다.

    egrep '(str1.*str2.*str3|str3.*str1.*str2|str2.*str1.*str3|str1.*str3.*str2)' file
    
    

    즉 순열을 만듭니다. 물론 이것은 우스운 일입니다.

    "이 둘 중 하나"와 유사하게 :

    egrep '(str1.*(str2|str3)|(str2|str3).*str1)' file
    
    

  • 답변 # 2

    grep -E --color "string1 | string2 | string3 ...."

    예를 들어 AMD (svm) 또는 Intel (vmx) 프로세서를 사용하고 64 비트 (lm) lm 인 경우 시스템이 64 비트를 의미하는 긴 모드를 나타냅니다.

    명령 예제 :

    grep -E-색상 "lm | svm | vmx"/ proc/cpuinfo

    -E는 여러 개의 문자열을 찾아야합니다.

  • 답변 # 3

    개인적으로 grep과 함께 무언가를 모 으려고하지 않고 펄에서이 작업을 수행합니다.

    예를 들어, 첫 번째 :

    while (<FILE>)
    {
       next if ! m/pattern1/;
       next if ! m/pattern2/;
       next if ! m/pattern3/;
       print $_;
    }
    
    

  • 이전 javascript - 새 태그 생성을위한 Select2 이벤트
  • 다음 c# - 블록 위에서 점프하는 수직 게임을 위해 Unity에서 게임 끝내기