tr 명령은 cygwin bash.exe 쉘에서 문제를 일으키지 만 mintty.exe에서 작동합니다

StackOverflow https://stackoverflow.com//questions/11652672

  •  11-12-2019
  •  | 
  •  

문제

Cygwin으로 창문을 사용합니다.다음 명령은 "./bootstrp3.cab"문자열에서 '/'의 발생 횟수를 출력해야합니다.mintty.exe 쉘을 사용하고 "1"을 출력 할 때 작동합니다.

echo ./bootstrp3.cab | tr -cd / | wc -c
.

불행히도 bash.exe 쉘 다음 메시지를 출력합니다.

Usage:
tr [-cs] string1 string2
tr -s[-c] string1
tr -d[-c] string1
tr -ds[-c] string1 string2
.

두 쉘이 다르게 작동하는 것으로 보이지만, echo $0, bash.exe 출력 bash 및 mintty.exe가 -bash를 출력하기 때문에 둘 다 같은 종류의 쉘 인 것 같습니다.

나는 또한 Bourne 쉘 (Sh.exe)으로 명령을 시도했지만 bash.exe 쉘과 동일한 메시지를 출력합니다.

누구든지 sh.exe 또는 bash.exe 쉘을 사용하여 작업을 수행 할 수있는 방법을 알고 있습니까?누군가가 두 개의 bash 껍질이 왜 다르게 행동하는지 알고 있습니까?

도움이 되었습니까?

해결책

sedwc를 사용하여 동일한 작업을 수행 할 수 있습니다.

echo -n ./bootstrp3.cab | sed 's![^/]!!g' | wc -c
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top