메일 로그는 읽기가 매우 어렵습니다. 명령줄에 인쇄된 각 줄 사이에 빈 줄을 출력하려면 어떻게 해야 합니까? 예를 들어, 로그를 greping한다고 가정해 보겠습니다. 이렇게 하면 여러 줄 바꿈이 혼동되지 않습니다.
답변1
sed G
# option: g G Copy/append hold space to pattern space.
G
일반적으로 사용되지는 않지만 이러한 목적으로 유용합니다.sed"패턴 공간"과 "홀드 공간"이라는 두 개의 버퍼 공간이 유지됩니다. 처리된 행seds///
패턴 공간 ( 등)은 일반적으로 해당 내용에 대해 다양한 명령이 작동할 때 전달됩니다 p
. 예약된 공간은 처음에는 비어 있으며 특정 명령에 의해서만 사용됩니다.
이 G
명령은 개행 문자와 예약된 공간의 내용을 패턴 공간에 추가합니다. ~ 위에sed프로그램은 예약된 공간에 아무 것도 넣지 않으므로 G
실제로는 처리하는 각 줄에 개행 문자를 추가할 뿐입니다.
답변2
추가 줄바꿈을 추가하려면 awk를 사용하세요. 또한 원하지 않는 항목을 필터링할 수도 있습니다.
awk '{print $0,"\n"}' | less
답변3
sed를 사용하고 전체 줄과 추가 줄 바꿈을 단독으로 바꾸십시오.
grep foo /var/log/maillog | sed -e "s/^.*$/&1\n/"
답변4
|
모든 출력을 다음으로 라우팅합니다 .
sed G
예:
ls | sed G
당신 man sed
이 볼 수 있다면
G
패턴 공간에 개행 문자와 예약된 공간을 추가합니다.