Computer >> 컴퓨터 >  >> 프로그램 작성 >> BASH 프로그래밍

Linux의 tr 명령 – 정의 및 사용 방법

tr (tr anslate) Linux의 명령어는 표준 입력에서 텍스트를 읽습니다. , 텍스트를 일부 수정한 다음 표준 출력으로 보냅니다. . 이 문서에서는 사용 이유와 방법을 설명하고 보여줍니다.

tr 명령 구문

다음은 명령을 사용하는 데 필요한 구문입니다.

tr OPTIONS SET1 [SET2]

참고:

  • 옵션 아래 표의 옵션 목록이어야 합니다.
  • SET1의 캐릭터 SET2의 해당 위치에 있는 문자로 대체됩니다.
    • 선택 사항입니다. 일부 옵션 번역을 수행할 수 있으므로 둘 다 SET s가 반드시 필요한 것은 아닙니다.
  • 처리 중인 텍스트가 부족함을 알 수 있습니다. 이는 표준 리디렉션을 사용하여 제공됩니다. 이에 대한 자세한 내용은 아래 예를 참조하세요.

다음은 사용 가능한 옵션입니다. – 사용자 설명서에서 직접:

<일>
옵션
-c SET1의 보수 사용
-d SET1에서 문자를 삭제하고 번역하지 마십시오.
-s 마지막으로 지정된 SET에 나열된 반복 문자의 각 시퀀스를 해당 문자의 단일 발생으로 교체합니다.
-t 먼저 SET1을 SET2의 길이로 자릅니다.

SET의 줄 바꿈 및 탭과 같은 특수 문자를 교체하거나 삭제해야 하는 경우 다음 순서를 사용할 수 있습니다.

해석된 시퀀스 특수 문자
\NNN 8진수 값이 NNN인 문자(1~3개의 8진수)
\\ 백슬래시
\b 백스페이스
\n 새 줄
\r 반환
\t 가로 탭
[:alnum:] 모든 문자 및 숫자
[:알파:] 모든 문자
[:공백:] 모든 가로 공백
[:숫자:] 모든 숫자
[:낮은:] 모두 소문자
[:space:] 모든 가로 또는 세로 공백
[:상단:] 모두 대문자

위에는 일반적으로 사용되는 몇 가지 옵션/시퀀스만 포함했습니다(몇 가지가 있으므로) . 다음을 실행하여 찾을 수 있는 사용 설명서에서 명령 옵션의 전체 목록을 볼 수 있습니다.

man tr

tr 명령 예

다음은 tr을 사용하는 방법의 몇 가지 예입니다. 명령.

이것은 단지 예일 뿐입니다. 옵션과 시퀀스를 조합하여 원하는 결과를 얻을 수 있습니다.

문자 제거

아래 예는 문자열에서 지정된 문자를 제거합니다. 에코의 출력 명령이 파이프됩니다. tr 명령.

이것이 tr 명령이 번역하려는 텍스트를 수신하는 방법입니다. 파이핑 또는 리디렉션을 통해 표준 입력으로 제공되어야 합니다. .

echo "axbxcxdx" | tr -d 'x'

위의 -d 옵션은 tr을 지시합니다. x 문자 삭제 에코 출력에서 명령.

다음을 반환합니다.

abcd

소문자를 대문자로

아래 예는 대문자/소문자 해석 시퀀스를 사용하여 모든 소문자를 대문자로 바꿉니다.

echo "aBcDeFg" | tr '[:lower:]' '[:upper:]'

다음과 같이 출력됩니다.

ABCDEFG

문자 바꾸기

문자열의 문자를 대체하는 데 가장 일반적으로 사용됩니다. 예를 들어 공백을 대시로 대체:

echo "frogs and fish" | tr '[:blank:]' '-'

출력:

frogs-and-fish

이 예에서는 두 개의 SET를 사용합니다. 첫 번째 세트에는 공백/공백(즉, 공백 탭)에 대한 식별자가 포함되고 두 번째 세트에는 대시가 포함되므로 공백은 대시로 바뀝니다(SET2는 SET1을 대체).

웹사이트에 업로드할 파일 이름을 생성하고 해당 파일 이름에 공백이 없는지 확인할 때 유용할 수 있습니다.

여러 문자 바꾸기

마지막 예에서 각 집합에는 단일 문자만 포함됩니다. 한 번에 여러 문자를 교체하기 위해 여러 문자를 제공할 수 있습니다.

echo "frogs and fish" | tr 'sf' 'SF'

출력:

frogs-and-fish

보시다시피 첫 번째에 해당하는 문자가 두 번째에 있는 문자로 대체되었습니다.

반복 문자 제거

아래에서 불필요한 반복 공백이 일부 텍스트에서 제거되었습니다.

echo 'Absolutely spaced                out' | tr -s '[:space:]'

출력:

Absolutely spaced out

[:blank:] 식별자가 -s와 함께 사용되었습니다. 반복되는 공백을 식별하고 제거하는 옵션입니다.