여러 파일은 파일 이름을 출력하는 명령이 적습니다.

여러 파일은 파일 이름을 출력하는 명령이 적습니다.

처리할 파일 이름 목록을 less *.txt사용하여 많은 파일을 수동으로 탐색할 수 있기를 원합니다 . :n그런 일이 가능합니까? 이 목적에 더 적합한 다른 도구가 있습니까?

답변1

자신만의 less특수 명령 키를 설정할 수 있습니다. 파일을 생성 ~/.lesskey하고 시작 부분에 다음 두 줄을 입력합니다.

#command
ok shell echo % >>/tmp/list\n

그런 다음 명령을 내립니다.

lesskey

컴파일된 파일. less해당 파일에 대해 명령어를 실행하고, 파일명을 저장하려면 2자를 입력하세요 ok. 에코가 표시됩니다.

!echo myfilename >>/tmp/list
!done  (press RETURN)

현재 파일 이름(%)을 에 저장합니다 /tmp/list. 계속하려면 Enter를 누르세요. 나는 ok무작위로 순서를 선택했다. 원하는 단일 문자나 일련의 문자를 사용할 수 있습니다. :n줄 끝에 명령을 추가하거나 다음 파일로 이동할 수 있습니다.shell~/.lesskey


파일이 없으면 lesskey위 파일에서 실행하고 base64일부 바이너리가 포함되어 있으므로 전달했습니다. 어쩌면 이것을 사용해 볼 수도 있습니다:

echo 'AE0rR2MaAG9rAJtlY2hvICUgPj4vdG1wL2xpc3QKOm4AZQAAdgAAeEVuZA==' | base64 -d >~/.less

답변2

한 가지 접근 방식은 최소한의 키 입력으로 작업을 수행하는 스크립트를 작성하는 것입니다. 그러나 스크립트를 철저하게 작성하고 테스트할 시간이 없다면 가지고 있는 less 버전에 따라 더 적게 사용할 수도 있습니다.

버전 444를 사용하여 less테스트되었으며 다음은 샘플 연습입니다.

먼저 a.txt b.txt c.txt d.txt 4개의 파일이 있다고 가정합니다.

$ less *.txt

a.txt가 좋아 보이므로 다음 명령을 사용하여 다음 내용을 확인할 수 있습니다.:n

b.txt가 잘못된 것 같으니 마크업하려면 다음을 입력하세요.

! echo % | tee -a bad.txt

응답 가능성이 낮음:

b.txt
!done  (press RETURN)

계속해 :n.

c.txt는 괜찮아 보입니다. 계속해:n

d.txt도 나빠 보이지만 모든 키 입력을 다시 입력할 필요는 없습니다. !화살표를 위로 올리면 마지막 명령이 자동으로 채워지고 다음 d.txt위치에 저장됩니다.bad.txt

그러면 q덜 조심해야 합니다.

이제 저장된 목록을 볼 수 있습니다.

$ cat bad.txt
b.txt
d.txt

설명하다

  • ! shell command물론 %가 현재 파일인 쉘 명령을 실행하십시오.
  • using은 tee선택 사항입니다. 명령을 실행한 후 방금 저장한 파일 이름에 대한 추가 표시가 표시됩니다.
  • -a추가하세요. 그렇지 않으면 덮어쓰게 되고 bad.txt에는 하나의 레코드만 남게 됩니다.
  • ! echo % >> bad.txtbad.txt에 추가 할 수도 있습니다.

답변3

less이와 같은 작업을 수행해야 할 경우 하나의 탭과 vi인접한 탭이 있는 탭 터미널을 사용합니다 .

태그를 지정하려는 파일에 도달하면 화면 하단에 있는 파일 이름을 두 번 클릭하고 탭 less으로 전환한 vi다음 '붙여넣기'를 마우스 가운데 버튼으로 클릭하고 을 탭한 ENTER다음 다시 less탭으로 전환합니다.

파일이 수십 개가 넘는 경우(즉, 몇 분 이상 걸릴 수 있음) 하나 이상의 일반적인 도구( , grep, awkperl) 를 사용하여 선택 프로세스를 자동화하는 방법을 찾으려고 노력할 것입니다.

grep간단한 검색 awk이나 perl더 복잡한 검색에 사용합니다.

관련 정보