문자열에서 하위 문자열의 발생 수를 계산합니다.

에두아르도 루시오

Bash를 사용하여 문자열에서 하위 문자열의 발생 수를 어떻게 계산할 수 있습니까?

예:

이 하위 문자열이 몇 번인지 알고 싶습니다.

Bluetooth
         Soft blocked: no
         Hard blocked: no

...이 문자열에서 발생합니다 ...

0: asus-wlan: Wireless LAN
         Soft blocked: no
         Hard blocked: no
1: asus-bluetooth: Bluetooth
         Soft blocked: no
         Hard blocked: no
2: phy0: Wireless LAN
         Soft blocked: no
         Hard blocked: no
113: hci0: Bluetooth
         Soft blocked: no
         Hard blocked: no

참고 I : sed, grep, awk를 사용하여 여러 가지 접근 방식을 시도했습니다. 공백과 여러 줄이있는 문자열이 있으면 아무것도 작동하지 않는 것 같습니다.

참고 II : 저는 Linux 사용자이며 일반적으로 Linux 배포판에서 볼 수있는 응용 프로그램 / 도구 외부에 설치하지 않는 솔루션을 시도하고 있습니다.


중대한:

아래의 가상 예와 같은 것을 원합니다. 이 경우 두 개의 Shell 변수 (Bash)를 사용 합니다.

예:

STRING="0: asus-wlan: Wireless LAN
         Soft blocked: no
         Hard blocked: no
1: asus-bluetooth: Bluetooth
         Soft blocked: no
         Hard blocked: no
2: phy0: Wireless LAN
         Soft blocked: no
         Hard blocked: no
113: hci0: Bluetooth
         Soft blocked: no
         Hard blocked: no"

SUB_STRING="Bluetooth
         Soft blocked: no
         Hard blocked: no"

awk -v RS='\0' 'NR==FNR{str=$0; next} {print gsub(str,"")}' "$STRING" "$SUB_STRING"

참고 : 우리는 단지 설명을 위해 awk를 사용하고 있습니다!

스테판 샤젤 라스

와 함께 perl:

printf '%s' "$SUB_STRING" |
  perl -l -0777 -ne '
    BEGIN{$sub = <STDIN>}
    @matches = m/\Q$sub\E/g;
    print scalar @matches' <(printf '%s' "$STRING")

으로 bash만, 당신은 항상 뭔가를 같이 할 수있는 :

s=${STRING//"$SUB_STRING"}
echo "$(((${#STRING} - ${#s}) / ${#SUB_STRING}))"

$s안에 $STRING있는 모든 항목이 $SUB_STRING제거 된 포함입니다. $SUB_STRING사이의 문자 수 차이를 계산하고 그 자체 의 길이로 나누어 제거 된 s 의 수를 알아냅니다 .$STRING$s$SUB_STRING

POSIXly, 다음과 같이 할 수 있습니다.

s=$STRING count=0
until
  t=${s#*"$SUB_STRING"}
  [ "$t" = "$s" ]
do
  count=$((count + 1))
  s=$t
done
echo "$count"

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자열에서 하위 문자열의 발생 수를 계산합니다.

분류에서Dev

문자열에서 하위 문자열의 발생 수를 계산합니다.

분류에서Dev

이 루프는 문자열 내부에서 하위 문자열의 발생 횟수를 계산합니다. How?

분류에서Dev

중복을 계산하지 않고 문자열 내에서 하위 문자열의 발생 횟수를 계산합니다.

분류에서Dev

문자 집합의 발생 횟수를 계산하고 문자열에서 공백을 뺍니다.

분류에서Dev

문자열에서 하위 문자열의 발생 횟수 계산

분류에서Dev

텍스트 상자 문자열에서 단어의 발생 횟수를 검색하고 계산합니다.

분류에서Dev

문자열에서 하위 문자열의 길이 n (주어지지 않음)의 x 발생 횟수를 계산합니다.

분류에서Dev

범위에서 각 고유 문자열의 발생 횟수를 계산합니다.

분류에서Dev

분할 된 txt 파일 내에서 하위 문자열이 발생하는 횟수를 계산합니다.

분류에서Dev

아니오를 계산합니다. 문자열에서 문자가 발생하는 횟수

분류에서Dev

아니오를 계산합니다. 문자열에서 문자가 발생하는 횟수

분류에서Dev

문자열 C #에서 모든 하위 문자열의 발생 수를 계산하려면

분류에서Dev

열에서 각 문자열의 발생 횟수를 계산합니다.

분류에서Dev

하위 문자열의 발생 횟수를 계산하고 최고 점수를 유지합니다.

분류에서Dev

r을 사용하여 데이터의 여러 열에서 문자 발생 수를 계산합니다.

분류에서Dev

javascript 또는 jquery의 부모 div에서 문자열이 발생하는 횟수를 계산합니다.

분류에서Dev

문자열에서 각 요소의 발생 횟수를 계산합니다.

분류에서Dev

문자열에서 문자 발생 횟수를 계산하는 문제

분류에서Dev

문자열에서 하위 문자열 반복 횟수를 계산합니다.

분류에서Dev

전체 파일에서 하위 문자열의 발생 횟수 계산

분류에서Dev

문자열에있는 모든 숫자의 발생 수를 계산합니다.

분류에서Dev

문자열에서 *의 발생 횟수를 출력하려고합니다.

분류에서Dev

명령 줄 인수에서 문자열의 문자 발생 수를 계산하는 방법-Java

분류에서Dev

셀 내의 문자열에서 문자 발생 횟수 계산

분류에서Dev

정규식을 사용하여 각 문자열의 발생 횟수를 계산합니다.

분류에서Dev

스캐너와 JFIleChooser를 사용하여 파일에서 하위 문자열이 발생하는 횟수를 계산해야합니다.

분류에서Dev

한 배열의 숫자가 다른 배열에서 발생하는 횟수를 계산합니다.

분류에서Dev

문자열에서 하위 문자열의 반복 발생 횟수

Related 관련 기사

  1. 1

    문자열에서 하위 문자열의 발생 수를 계산합니다.

  2. 2

    문자열에서 하위 문자열의 발생 수를 계산합니다.

  3. 3

    이 루프는 문자열 내부에서 하위 문자열의 발생 횟수를 계산합니다. How?

  4. 4

    중복을 계산하지 않고 문자열 내에서 하위 문자열의 발생 횟수를 계산합니다.

  5. 5

    문자 집합의 발생 횟수를 계산하고 문자열에서 공백을 뺍니다.

  6. 6

    문자열에서 하위 문자열의 발생 횟수 계산

  7. 7

    텍스트 상자 문자열에서 단어의 발생 횟수를 검색하고 계산합니다.

  8. 8

    문자열에서 하위 문자열의 길이 n (주어지지 않음)의 x 발생 횟수를 계산합니다.

  9. 9

    범위에서 각 고유 문자열의 발생 횟수를 계산합니다.

  10. 10

    분할 된 txt 파일 내에서 하위 문자열이 발생하는 횟수를 계산합니다.

  11. 11

    아니오를 계산합니다. 문자열에서 문자가 발생하는 횟수

  12. 12

    아니오를 계산합니다. 문자열에서 문자가 발생하는 횟수

  13. 13

    문자열 C #에서 모든 하위 문자열의 발생 수를 계산하려면

  14. 14

    열에서 각 문자열의 발생 횟수를 계산합니다.

  15. 15

    하위 문자열의 발생 횟수를 계산하고 최고 점수를 유지합니다.

  16. 16

    r을 사용하여 데이터의 여러 열에서 문자 발생 수를 계산합니다.

  17. 17

    javascript 또는 jquery의 부모 div에서 문자열이 발생하는 횟수를 계산합니다.

  18. 18

    문자열에서 각 요소의 발생 횟수를 계산합니다.

  19. 19

    문자열에서 문자 발생 횟수를 계산하는 문제

  20. 20

    문자열에서 하위 문자열 반복 횟수를 계산합니다.

  21. 21

    전체 파일에서 하위 문자열의 발생 횟수 계산

  22. 22

    문자열에있는 모든 숫자의 발생 수를 계산합니다.

  23. 23

    문자열에서 *의 발생 횟수를 출력하려고합니다.

  24. 24

    명령 줄 인수에서 문자열의 문자 발생 수를 계산하는 방법-Java

  25. 25

    셀 내의 문자열에서 문자 발생 횟수 계산

  26. 26

    정규식을 사용하여 각 문자열의 발생 횟수를 계산합니다.

  27. 27

    스캐너와 JFIleChooser를 사용하여 파일에서 하위 문자열이 발생하는 횟수를 계산해야합니다.

  28. 28

    한 배열의 숫자가 다른 배열에서 발생하는 횟수를 계산합니다.

  29. 29

    문자열에서 하위 문자열의 반복 발생 횟수

뜨겁다태그

보관