locate ... | less
실제로는 한 줄이지만 터미널에서는 여러 줄로 나타나는 긴 경로를 출력합니다.
Ctrl마우스로 텍스트를 선택하고 +를 클릭하여 Shift터미널에서 경로를 복사했습니다 C. 이것을 텍스트 파일에 붙여 넣으면 터미널에 나타나는 것과 똑같은 방식으로 텍스트에 원치 않는 변경된 줄이 나타납니다.
그러나 원치 않는 행 변경 없이 출력에서 생성된 긴 경로를 복사할 수 있는 경우도 locate ... | less
있고 그렇지 않은 경우도 있다는 것을 기억합니다. 제가 다른 일을 했는지는 모르겠습니다.
그렇다면 문제가 발생하지 않도록 하는 방법이 궁금합니다. 감사해요!
내 운영 체제: Ubuntu 12.04.
내 터미널: Gnome Terminal 3.4.1.1
답변1
답변2
당신은 할 수복사출력 라인추가 개행 없음(개행 문자) 텍스트가 다음과 같은 경우직접 출력터미널로 가세요.
터미널은 실제 라인이 끝나는 위치를 추적할 수 있습니다.
그러나 이러한 행이 less
유사한 pager
프로그램에 의해 출력되는 경우 터미널은 개행 문자가 어디에 있는지 알 수 없습니다. 호출기는 터미널을 전체 화면 문자로 사용하고 터미널에 "이 문자를 거기에 넣으세요"라고 지시할 뿐만 아니라 스크롤과 같은 작업도 수행합니다. 그러나 터미널에서는 개행문자가 무엇에 사용되는지 확인할 수 있는 방법이 없습니다.
답변3
터미널에 표시되는 내용(화면에 맞는 내용)을 복사하지 말고 실제 텍스트를 복사하세요. 외부 유틸리티 중 하나를 사용하십시오.셰르또는클립(대부분 동일한 기능을 가지고 있습니다. 이 답변에서는 xsel을 사용하겠습니다.) X 클립보드에서/로 데이터를 복사합니다. 클립보드에 복사하려면 원하는 내용을 표준 입력으로 전달하세요. 클립보드에서 붙여넣으면 내용이 표준 출력에 기록됩니다.
Less에서는 이 |
명령을 사용하여 명령을 통해 여러 줄을 파이프합니다. 작업을 수행하려는 첫 번째 줄로 스크롤하고, 입력하여 mm
표시를 설정하고, 마지막 줄로 스크롤한 다음, 입력 |mxsel -b
하고 를 누릅니다 Enter. ^
파일 시작 부분과 $
파일 끝 부분에 대한 두 개의 마커가 미리 정의되어 있습니다 . 따라서 전체 파일을 복사하려면 를 사용하십시오 <|$xsel -b
. 한 줄을 복사하려면 mm|mxsel -b
및 를 사용하십시오 Enter.
-b
클립보드 대신 기본 선택 항목으로 복사하는 옵션이 제거되었습니다 .
답변4
목표가 복사하여 붙여넣는 것이라면 cat
대신 또는 를 사용하고 터미널은 표시될 때가 아닌 실제 그대로 캡처합니다.less
more