마우스로 선택하기에는 너무 길어서 일치하는 줄을 Less로 복사하고 싶은데 Less에서 다른 방법이 있나요? 예를 들어
파일: test.txt 내용:
line1: 12312sdfas23414123
liie2: aaaaaxxxxxxxxxxxxxxxxxxxxxxxfsdfsdfasdf
sdfasdfasdfadsfasdfdfdfd........
line3: 134sdgas1212
먼저 "aaaaa"를 검색한 다음 해당 줄을 클립보드에 어떻게 복사합니까? 검색하다가 이걸 발견했어요https://stackoverflow.com/questions/26626910/copy-special-line-from-less, 하지만 내 요구 사항에 적용하는 방법을 모르겠습니다. 미리 감사드립니다
업데이트: 기본 메서드가 있나요? 내 Centos 6에 xclip 또는 pbcopy가 설치되어 있지 않다는 것을 알았기 때문입니다.
답변1
less
v
편집기를 실행하고 파일 이름과 현재 줄 번호를 제공하는 명령이 있습니다 . 다음을 사용하여 실행되는 명령을 재정의할 수 있습니다.
export LESSEDIT='sed -n "%lp" %g | xclip -selection clipboard'
이제 를 입력하면 현재 파일(%g)의 현재 줄(%l)을 인쇄(p)하고 로 파이프하는 v
데 사용됩니다 . 이 설정을 저장하고 실행하는 작은 셸 스크립트(예: )를 작성할 수 있습니다 .sed
xclip
myless
less
#!/bin/bash
export LESSEDIT='sed -n "%lp" %g | xclip -selection clipboard'
exec less "$@"
chmod +x myless
실행 가능하게 만들고 PATH 디렉토리에 저장하는 것을 잊지 마십시오 .
답변2
보내주신 링크에 답변이 있지만 귀하가 찾으시는 정확한 순서를 포함해 드릴 수 있습니다.
이를 수행하는 명령은 다음 less
과 같습니다.
/aaaaax <enter>
| <enter>
head -1 | xclip -selection clipboard <enter>
이것이 이 명령이 말하는/실행입니다
- 페이지/화면 상단에 배치할 "aaaaax" 문자열을 검색하세요.
- "튜브" 마크.
enter
명확한 표시 없이 누르면 이 화면의 내용만 전송됩니다. head -1
입력을 첫 번째 줄로만 자릅니다. 이 경우 우리는 라인을 원합니다xclip -selection clipboard
이 줄을 시스템 클립보드에 넣고 어디든 붙여넣을 수 있습니다.
답변3
의존할 필요가 없다면 를 less
사용하는 것이 좋습니다 grep
.
필터링된 출력을 사용하여 grep
문자열을 더 빠르게 찾을 수 있습니다.