빼기 기호를 tr로 바꾸는 방법

빼기 기호를 tr로 바꾸는 방법

몇 가지 기호를 공백으로 바꾸려고 하는데 tr이것이 올바른 명령이라고 생각합니다. 그래서 나는 노력했다

cat myfile | tr '_[]()-/' ' '

그런데 오류가 났어요

range-endpoints of ']-/' are in reverse collating sequence order

아마도 입력 문자에 빼기 기호를 사용할 수 없기 때문일 것입니다. 을 사용하여 이 작업을 수행할 수 있나요 tr?

답변1

이 메시지는 GNU에서 온 것으로 보이며 tr로케일의 일부 문제로 인해 발생했을 수 있습니다. 이것정보페이지 에서는 세트의 일부로 혼동되지 않도록 세트의 tr마지막 항목을 넣을 것을 권장합니다.-범위,예를 들어,

cat myfile | tr '_[]()/-' ' '

답변2

모든 POSIX의 경우 tr:

tr '_][()/-' '[ *]' <file

작동합니다.

[ *]POSIX가 필요합니다. 존재하다:

tr string1 string2

언제문자열 2비교하다. . . 짧은문자열 1, BSD가 tr채워집니다문자열 2마지막 캐릭터는문자열 2이므로 tr '_][()/-' ' '효율성이 보장되지 않습니다.

관련 정보