Linux 및 Unix 시스템에서 tr 번역, 지우기 및 “압착하는 명령줄 유틸리티입니다. " 반복되는 문자 – 사실 tr은 "번역 .” 이 가이드에서는 Linux에서 tr 명령을 사용하는 방법을 예제와 함께 설명합니다. 반복되는 문자 제거, 소문자를 대문자로 변환, 기본 문자 교체 및 제거와 같은 작업에 사용할 수 있습니다. 파이핑을 통해 다른 명령어와 함께 사용하는 경우가 많습니다.
Linux는 Android를 포함하여 우리가 일상적으로 사용하는 많은 기술의 이면에 있는 기본 커널/운영 체제 코어입니다. 오픈 소스이며 쉽게 구성할 수 있습니다.
tr 명령어 사용법
tr 명령을 실행하는 구문은 다음과 같습니다. 여기서 SET1의 문자는 SET2의 문자로 번역됩니다. :
tr OPTION... SET1 [SET2]
tr 명령은 두 세트의 문자(보통 동일한 길이)를 허용합니다. 그런 다음 첫 번째 집합의 문자를 두 번째 집합의 해당 문자로 바꿉니다. 이 시나리오에서는 SET 문자열이며 백슬래시로 이스케이프된 특수 문자를 포함합니다.
예시
다양한 문자 사용
원하는 경우 문자 클래스 대신 범위를 사용할 수도 있습니다.
echo 'hello' | tr 'a-z' 'A-Z'
반대로 변환하려면 세트의 위치를 바꾸면 됩니다.
대소문자 변환
대문자를 소문자로 또는 그 반대로 변환하는 것은 tr 명령의 가장 일반적인 사용 사례 중 하나입니다.
[:낮은:] 모든 소문자와 일치하고 [:upper:] 모든 대문자와 일치합니다.
echo 'Hello' | tr '[:lower:]' '[:upper:]' HELLO
빈 줄 제거
빈 줄을 삭제하려면 "squeeze " 반복되는 개행 문자:
tr -s '\n' < input.txt > output.txt
위의 경우 리디렉션 기호를 사용하여 명령의 출력을 output.txt에 씁니다. .
숫자가 아닌 모든 문자 제거
다음 명령은 숫자가 아닌 모든 문자를 삭제합니다.
echo "The account number is 10879358" | tr -cd [:digit:]
[:digit:] 모든 숫자 문자를 나타냅니다. -c를 사용하여 옵션에서 명령은 숫자가 아닌 문자를 제거합니다. 후속 출력은 다음과 같습니다.
10879358
$PATH 디렉토리를 새 줄에 인쇄
$PATH 환경 변수는 명령을 입력할 때 실행 파일을 찾을 디렉토리를 쉘에 알려주는 디렉토리 목록(콜론으로 구분)입니다. 각 디렉토리를 별도의 새 줄에 인쇄하려면 콜론(: ) 그런 다음 새 줄 명령으로 바꾸십시오.
echo $PATH | tr ':' '\n' /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin /usr/games /usr/local/games /snap/bin
각 단어를 새 줄에 입력
이렇게 하려면 모든 문자(영숫자가 아닌 ) 그런 다음 새 줄로 바꿉니다.
echo 'Linux is the best operating system in the world' | tr -cs '[:alnum:]'
출력은 다음과 같습니다.
Linux is the best operating system in the world
문자 바꾸기
표준 입력('코딩')의 문자를 두 번째 세트의 해당 문자로 교체하려는 경우
echo 'coding' | tr 'co' 'hi'
"c"의 각 발생은 "h"로 대체되고 "o"는 "i"로 대체되며 결과는 다음과 같습니다.
hiding
문자 집합은 문자 범위를 사용하여 정의할 수도 있습니다. 예를 들어 다음과 같이 작성하는 대신:
echo 'coding' | tr 'abcd' 'wxyz'
다음을 사용할 수 있습니다.
echo 'coding' | tr 'a-d' 'w-z' yozing
-c일 때 옵션이 사용되면 tr은 아닌 모든 문자를 대체합니다. SET1에서 .
다음 예에서 "li를 제외한 모든 문자 "는 두 번째 세트의 마지막 문자로 대체됩니다.
$ echo 'coding' | tr -c 'cod' 'xy' liyyyiyyy
줄 바꿈 없이 문자열을 에코하려면 -n 옵션을 사용하십시오.
-d 옵션은 SET1에 지정된 문자를 삭제하도록 tr에 지시합니다. . 짜지 않고 하고 싶을 때는 한 세트만 지정해야 합니다.
아래 명령은 l, I 및 z를 제거합니다. 문자:
echo 'Linuxize' | tr -d 'liz'