tail head cat sleep
QR code linking to this page

Man page  — TR

명칭

tr – 캐릭터의 치환

내용

서식


tr [-csu] string1 string2

tr [-cu] -d string1

tr [-cu] -s string1

tr [-cu] -ds string1 string2

해설

tr 유틸리티는, 선택된 캐릭터를 옮겨놓아 또는 삭제하면서 표준 입력을 표준 출력에 카피합니다.

이하의 옵션을 이용할 수 있습니다:
-c
  string1 에 포함되는 캐릭터의 여집합을 나타냅니다. 즉, ``-c ab''는, ``a''와 ``b''를 제외하는 모든 캐릭터를 포함합니다.
-d
  -d 옵션은, 입력으로부터 지정한 캐릭터를 삭제합니다.
-s
  -s 옵션은, 마지막 인수 ( string1 인가 string2 의 어느 쪽인지)에 포함되어 있는 동일한 캐릭터가, 입력안에 연속해 나타날 때, 그것을 1 개의 캐릭터에 압축합니다. 이 압축은, 모든 삭제나 변환이 끝났다 후에 행해집니다.
-u
  -u 옵션은 출력이 버퍼링 되지 않는 것을 프로텍션합니다.

서식의 최초의 형식에서는, string1 에 포함되는 캐릭터는, string1 의 1 캐릭터눈은 string2 의 1 캐릭터눈과 치환...(와)과 같이 string2 (으)로 옮겨집니다. 만약 string1 하지만 string2 보다 긴 경우는, string2 의 마지막 캐릭터가, string1 (와)과 대응시키는데 부족한 분만큼 계속되고 있는 것으로 간주해집니다.

서식의 2 번째의 형식에서는, string1 에 포함되는 캐릭터는, 입력으로부터 삭제됩니다.

서식의 3 번째의 형식에서는, string1 에 포함되는 캐릭터는, -s 옵션의 해설대로에 압축됩니다.

서식의 4 번째의 형식에서는, string1 에 포함되는 캐릭터는 입력으로부터 삭제되어 string2 에 포함되는 캐릭터는 -s 옵션의 해설대로에 압축됩니다.

string1, string2 의 캐릭터의 집합을 지정하는데, 이하와 같은 기술 방법을 이용할 수 있습니다:
character
  이하로 가리킨 것을 제외하는, 그 캐릭터 자신을 나타낸다 통상의 캐릭터 (캐릭터)입니다.
\octal backslash에 계속되어, 1~3 자리수의 8 진수가 계속된 것은, 그 값을 encode 한 캐릭터를 표현합니다. 이 8 진수의 및 계속되어 숫자를 캐릭터로서 지정하고 싶은 경우에는, 8 진수의 줄이 3 자리수와 되도록(듯이), 8 진수의 상위자리수 (왼쪽)에 0 을 묻어 주세요.
\character
  backslash에 계속되는, 특정의 특수한 캐릭터는, 특수한 값에 대응하고 있습니다.


"\a
<벨 캐릭터>

"\b
<백 스페이스>

"\f
<form feed>

"\n
<개행>

"\r
<복귀>

"\t
<수평 탭>

"\v
<수직 탭>

이것들 이외의 backslash에 계속되는 캐릭터는, 그 캐릭터 자신에게 대응합니다.

c-c 양단을 지정하는 것으로써, 캐릭터의 범위를 나타냅니다. 양단을 포함합니다.
[:class:]
  정의된 캐릭터 클래스에 속하는, 모든 캐릭터를 나타냅니다. 클래스명은 이하와 같습니다:


"alnum
<영숫자>

"alpha
<영문자>

"cntrl
<컨트롤 캐릭터>

"digit
<숫자>

"graph
<그래픽 캐릭터>

"lower
<영소문자>

"print
<표시 가능 캐릭터>

"punct
<구두점>

"space
<공백 캐릭터>

"upper
<영대 캐릭터>

"xdigit
<16 진수>

``upper''와 ``lower''를 제외한 클래스에서는, 클래스에 포함되는 캐릭터의 순서는 특정되고 있지 않습니다. ``upper''와 ``lower''에서는, 캐릭터는 승순에 줄지어 있습니다.

어떠한 ASCII 캐릭터가, 이러한 클래스에 포함되어 있는가 하는 정보를 조사하고 싶은 경우에는, ctype(3) 및 관련 메뉴얼을 참조해 주세요.

[=equiv=]
  equiv (와)과 같은 동치 관계 클래스에 속하는 모든 캐릭터를 나타냅니다. 이것들은 encode치의 순서가 됩니다.
[#*n] # 그리고 지정되었다 n 개의 캐릭터의 반복을 표현합니다. 이 표현은, string2 그리고 지정되었을 때 마셔 유효합니다. 만약 n 하지만 생략 되었을 경우, 또는 0 의 경우는, string2 하지만 string1 의 길이를 채우는 것 같은, 충분히 큰 값으로 해서 해석됩니다. n (은)는, 0 으로 시작되는 경우에는 8 진수로서 그렇지 않은 경우에는 10 진수로서 해석됩니다.

환경 변수

LANG, LC_ALL, LC_CTYPE, LC_COLLATE 의 환경 변수가, environ(7) 의 기술 대로에, tr 의 실행에 영향을 줍니다.

진단

The utility exits 0 on success, and >0 if an error occurs.

사용예

이하의 예는, 쉘에 대해서 주어진 것입니다:

file1 에 포함되는 단어 (캐릭터의 최대장의 줄)의 리스트를, 각 행에 대해 1 개씩 출력합니다.

file1 의 내용을 대문자로 변환합니다.

표시할 수 없는 캐릭터를 file1 로부터 삭제합니다.

발음 구분 기호를, 'e' 의 엑센트 첨부 변형 모두로부터 삭제합니다.

    tr q[=e=]q qeq

호환성

옛부터의 BSD 의 실장 및 POSIX 표준에서는, 캐릭터의 범위 지정에는 ``c-c''라고 하는 문법을 이용합니다만, 낡은 System V 의 실장에서는 ``[c-c]''를 이용하고 있습니다. System V 의 셸 스크립트는, 캐릭터의 치환을 실시하려고 한다 경우에는 잘 동작할 것입니다. 즉, ``tr [a-z] [A-Z]''와 지정했을 경우에는, string1 의 ``[''가 string2 의 ``[''에 변환되기 (위해)때문에, 잘 동작합니다. 그러나, 셸 스크립트가, ``tr -d [a-z]''라고 하는 명령와 같이 캐릭터의 삭제나 압축을 실시하는 경우에는,``[''와 ``]''의 캐릭터가 삭제나 압축의 대상으로 포함되어 버립니다. 낡은 실장의 System V 에서는 이와 같이는 동작하지 않습니다. 게다가 ``a'', ``-'', ``z''와 말하는 3 개의 캐릭터를 표현하는데, ``a-z''와 기술하는 것 같은, 그 및 의존하고 있는 모든 스크립트는, ``a\-z''와 쓰기 고칠 필요가 있습니다.

tr 유틸리티는 옛부터, 입력에 있어서의 NUL 바이트의 조작을 금지되고 있었습니다. 게다가 입력으로부터 NUL 를 없애고 있었습니다. 이 실장에서는, 이 행동은 버그로 간주해져 삭제되었습니다.

tr 유틸리티는 옛부터, 예를 들어, 2 개의 캐릭터 라인이 지정되지 않는 한 -c-s 옵션을 무시하는, 등의 문법상의 잘못을 극단적인까지 허락하고 있었습니다. 이 실장에서는, 부정한 문법은 용서되지 않게 되어 있을 것입니다.

표준

tr 유틸리티는, IEEE Std 1003.2 ("POSIX.2") (와)과 호환입니다. string2 하지만 string1 보다 짧은 경우에 string2 의 마지막 캐릭터가 복제되는 기능은, POSIX 에서는 용서되고 있습니다만 필수는 아닌 것에 주의해 주세요. 다른 POSIX 시스템에의 가반성이 있는 셸 스크립트를 만들려고 한다면, 이 행동을 목표로 하지 않고 ,``[#*]''와 말하는 표현을 사용해야 합니다. -u 옵션은 IEEE Std 1003.2 ("POSIX.2") 표준의 확장입니다.

TR (1) October 11, 1997

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.