다음 tr 명령의 기능은 무엇입니까?

다음 tr 명령의 기능은 무엇입니까?

.sh 스크립트를 보고 있는데 다음 줄 중 하나가 다음과 같습니다.

tr -d '\15' < file1.txt  > /testProject/files/file1.txt

이 부분은 file1.txt > /testProject/files/file1.txt 결과를 /testProject/files/file1.txt에 추가하는 것을 의미하지만 이것이 무엇을 합니까 tr -d '\15' < file1.txt?

\15가 ASCAII 문자라는 것은 알고 있지만 그 기능이 무엇인지는 잘 모르겠습니다.

누구든지 도울 수 있다면 매우 감사하겠습니다.

답변1

명령은 세 가지 논리적 부분으로 평가될 수 있습니다.

  • tr -d '\15'- 실행할 명령입니다.
  • < file1.txt - file1.txt가 입력으로 전달됩니다.
  • > /testProject/files/file1.txt- 출력은 /testProject/files/file1.txt에 기록됩니다.

Panki가 댓글에서 말했듯이,tr맨페이지필요한 대부분의 정보가 있습니다. 이 명령은 한 세트의 문자를 다른 세트로 변환하는 데 사용됩니다. 이 -d옵션을 사용하면 문자가 제거됩니다.

동일한 매뉴얼 페이지에서 특수하게 해석된 시퀀스 목록을 볼 수 있습니다. 첫 번째는 \NNN8진수를 나타내는 데 사용됩니다.

마지막 질문은 무엇을 \15의미하나요? printf및 명령을 사용하여 볼 수 있습니다 od.

$ printf '\15' | od -c
0000000  \r
0000001

따라서 이 명령의 최종 효과는 입력 파일에서 '\r'(캐리지 리턴) 문자를 제거하는 것입니다.

주석에서 Steeldriver가 언급했듯이 이는 일반적으로 Windows 스타일 줄 끝('\r\n')에서 Unix 스타일 줄 끝('\n')으로 변환하는 데 사용됩니다.

관련 정보