Linux에서 fold 명령을 사용하는 방법

Linux fold 명령은 제멋대로인 결과를 가져옵니다. 출력 너비를 제어하여 넓은 텍스트 덩어리, 끝없는 문자열 및 형식이 지정되지 않은 스트림을 읽습니다. 어떻게하는지 배우다.

Linux 터미널에서 텍스트 행이 작동하는 방식

Linux 전투의 첫 번째 규칙: 적을 알아야 합니다. 그럼 정의해 보겠습니다. 한 줄의 텍스트는 정확히 무엇입니까? 문자, 숫자, 기호 및 공백과 같은 일련의 문자로, “새 줄 시작”을 의미하는 특수 바이트로 종료됩니다. 리눅스와 유닉스에서는 개행 문자, 줄바꿈이라고도 하며 줄 끝 표시기로 사용됩니다. 이것은 값이 0x0a인 바이트입니다. 16진수 십진수로 10입니다.

다른 운영 체제는 다른 바이트 값을 사용하여 행의 끝을 나타냅니다. Windows는 2바이트 시퀀스를 사용합니다. Windows 텍스트 파일에서 줄 바꿈 문자 바로 뒤에 캐리지 리턴 문자, 16진수로 0x0d이고 10진수로 13입니다.

“줄 바꿈” 및 “캐리지 리턴”이라는 용어는 과거로 거슬러 올라갑니다. 타자기에게. 플래튼, 종이를 감싼 실린더, 이동식 마차에 장착되었습니다. 키를 누를 때마다 캐리지가 왼쪽으로 한 문자 너비만큼 이동했습니다. 새 줄을 시작하려면 캐리지를 원래 위치로 되돌리고 롤러를 회전시키고 용지를 한 줄 높이만큼 위로 이동시키는 레버를 눌렀습니다. 이 동작을 캐리지 리턴이라고 하고 실린더의 회전(및 용지의 전진)을 줄 바꿈이라고 합니다.

타자기가 전기화되면서 레버는 키로 대체되었습니다. 키에는 Carriage Return 또는 그냥 Return으로 레이블이 지정되었습니다. 다음과 같은 일부 초기 컴퓨터 BBC 마이크로 우리가 지금 Enter 키라고 부르는 것에 여전히 Return이라는 이름을 사용했습니다.

일반적으로 줄 바꿈 문자는 볼 수 없습니다. 효과만 볼 수 있습니다. 줄 바꿈 문자는 텍스트를 표시하거나 처리하는 소프트웨어가 새 줄을 시작하도록 합니다.

그러나 긴 줄의 문제는 무엇입니까?

줄 바꿈 문자가 없거나 거의 없는 텍스트는 너무 넓어서 터미널 창에서 편안하게 읽을 수 없습니다. 짜증나지만 할 수 있는 일이다.

  Mac, iPhone 및 iPad 간에 AirPod를 수동으로 전환하는 방법

더 위험한 문제는 텍스트를 처리, 전송 또는 수신해야 하는 소프트웨어에 문제가 될 정도로 긴 줄을 처리해야 한다는 것입니다. 이는 내부 버퍼 길이 또는 조정할 수 없는 소프트웨어의 다른 측면으로 인해 발생할 수 있습니다.

그러나 접기라는 수정 사항이 있습니다.

접기의 첫 단계

매우 긴 줄이 포함된 텍스트 부분을 살펴보겠습니다. 여기서 문장에 대해 이야기하는 것이 아닙니다. (텍스트는 Herman Melville의 Moby Dick에서 가져온 것이기 때문에 우리는 두 세계의 장점을 모두 가지고 있습니다.)

텍스트 줄은 마지막 줄 바꿈 문자(또는 파일의 첫 줄인 경우 파일 시작 부분)부터 다음 줄 바꿈 문자 사이에 있는 내용에 관계 없이 모든 것입니다. 행에는 많은 문장이 포함될 수 있습니다. 터미널 창에서 여러 번 줄 바꿈될 수 있습니다. 그러나 여전히 한 줄의 텍스트입니다.

원시 형식의 텍스트를 살펴보겠습니다.

less moby-dick.txt

텍스트는 더 적게 표시됩니다.

텍스트가 창의 한쪽 가장자리에서 다른 쪽 가장자리로 뻗어 있고 줄 바꿈이 보기 흉하고 중간에 단어가 끊어집니다.

짧은 줄이 있는 다른 버전의 파일이 있습니다.

less short-lines-moby-dick.txt

이 파일의 행은 훨씬 짧습니다. 각 줄은 개행 문자로 종료됩니다.

hexdump 명령을 사용하면 파일 내의 바이트 값 보기 개행 문자를 참조하십시오. -C(표준) 옵션은 기본 형식에 16진수 값을 표시하도록 출력 형식을 지정합니다.