Enter 키가 빈 줄을 적은 곳에 추가


8

나는 플래그 (또는 핫키)로 less로그를 따르고 앞뒤로 검색하며 일반적으로 문서를 자유롭게 이동하는 데 사용할 수 있습니다.+FShiftF

그러나 한 가지 빠진 것이 있습니다 less. 일반적으로 파일의 끝에 있습니다. 새로운 일이 일어나고 싶습니다. 에서 tail -f나는 단지 칠 것 enter여러 번, 새로운 로그 라인은 명확하게 된 라인에서 분리 나타납니다.

이것을 추가 할 수 less있습니까? 어떻게?


나는 때때로 echo -e '\ n \ n \ n \ n \ n'>> / dev / pts / 0을 할 것이지만, 당신이 이것을 할 수 있다고 생각하지 않습니다. 내가 멀리 볼 때 떠났던 참조 지점이 있습니다.
David Houde

답변:


6

이것은 실제로 tail행동 이 아니라 터미널입니다. Tail은 출력 스트림을 stdout으로 보내고 터미널로 이동하며 Enter 키를 눌러 출력 중간에 빈 줄을 삽입합니다. 꼬리 자체는 실제로 당신의 입력을 전혀 받아들이지 않습니다. 당신이 원하는 다른 것을 입력 할 수 있으며 그것은 나타날 것입니다.

less그러나 콘솔 앱이며 입력을 받고 처리합니다. 터미널 제어 시퀀스를 사용하여 콘솔을 관리하고 있습니다. 이는 스크롤 방식입니다. 스트림에 임의의 문자를 삽입하면 디스플레이가 엉망이되고 프로그램을 제어하기 위해 입력을 덜 사용하게됩니다.

불행히도 현재 위치를 시각적으로 표시하는 방법이없는 것 같습니다. 그러나 끔찍한 기능 요청은 아니지만 때때로 새로운 기능을 얻는 사람 적습니다 .


이 기능을 적은 관리자에게 요청할 수있는 링크가 있습니까?
blueFast


4

나 자신을 위해 같은 대답을 찾는 동안 귀하의 질문을 찾았습니다.

수락 된 답변에 실망하여 해결 방법을 찾았습니다. 이상적이지는 않지만 내가 따르는 로그에서 내 위치를 표시 할 수 있습니다 less.

나는 marklog다음과 같은 내용 으로 작은 실행 스크립트 (이라고 불렀다 )를 만들어 내 경로에 넣었다.

#!/bin/sh
echo >> $1
echo >> $1
echo >> $1
echo `date` ---------------------------------------------------------------------- >> $1
echo >> $1
echo >> $1

물론 이것은 로그 파일에 대한 쓰기 액세스 권한이있는 경우에만 작동합니다. 또한 내가 소유하지 않은 로그 파일에 쓰지만 sudo 액세스 권한이있는이 버전을 만들었습니다.

#!/bin/sh
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo `date` ------------------------------------------------------------------------- >> $1"
sudo sh -c "echo >> $1"
sudo sh -c "echo >> $1"

이 스크립트는 내가 찾던 일종의 시각적 휴식을 제공합니다. 사용할 수있는 방법은 최소한 3 가지가 있습니다.

  1. 를 사용할 때 일반적으로 Enter 키를 몇 번 누르는 지점에서 tail -f대신 marklog다른 터미널에서 실행 하십시오 (로그 파일의 경로를 인수로 제공).

  2. 동일한 터미널 창에서 스크립트를 실행할 수 있도록 CtrlZ일시 중지하는 데 사용 less하지만 , 물론 less(을 사용하여) 다시 포 그라운드 할 때 fg더 이상 '팔로우'모드에 있지 않으므로 ShiftF다시 히트해야 합니다 ...

  3. 마지막으로 로그 파일의 경로를 입력 할 필요가 없으므로 가장 편리한 방법 일 수 있습니다 . 을 입력하여 marklog직접 실행하십시오 . 현재 파일 이름을로 대체합니다 . 그러나 !에 응답하지 않습니다. '추종'모드에있는 동안 추종 모드를 종료하고을 실행 한 다음 다시 실행하려면 먼저 눌려 야 합니다.less!marklog %Less%lessCtrlC!marklog %ShiftF

방법 3을 사용하면 Less의 명령 기록에 대한 추가 보너스를 얻을 수 있습니다. !를 누르고 위쪽 화살표를 사용하여 가장 최근의 명령을 선택하십시오 (항상 항상 marklog).

이것이 나를 이미 도와 준 사람에게 도움이되기를 바랍니다.


1

파일 끝에서 Shift+ F를 누르면 덜 작동합니다 tail -f.


2
아뇨. 새 줄을 따르지만로 작동하지 않습니다 tail -f. 특히 그것은 줄 바꿈으로 입력을 받아들이지 않을 것입니다. 이것은 내 질문 의 유일한 요점입니다. 게다가, 나는 이미 Shift+F그 문제에 대해 언급 했다 (작은 오류로 말해야한다)
blueFast

1

나는 당신이 이것을 할 수 있다고 생각하지 않습니다. 나는 관심있는 장소를 사용 m하고 '표시 한 다음 다시 방문하지만 이것이 당신이 요구하는 분리를 제공하지는 않습니다. 아마 multitail과 같은 것이 당신이 원하는 것을 할 것입니다.


-1

Lambart의 답변은 내가 가장 좋아하는 솔루션으로 안내합니다. 람 바트

팔로우 모드 ctrlc를 입력하고를 입력하십시오 !printf "\n\n---$(date)---\n\n" >> %. 그런 다음 파일을 enter한 번 더 누르고 눌러 shiftf다시 시작해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.