it-swarm-ko.tech

명령 줄에 인쇄 된 줄 사이에 줄 바꿈을 어떻게 추가합니까?

메일 로그는 읽기가 매우 어렵습니다. 명령 행에 인쇄 된 각 줄 사이에 빈 줄을 어떻게 출력 할 수 있습니까? 예를 들어, 로그를 정리하고 있다고 가정하십시오. 이렇게하면 여러 줄 바꿈이 혼란스럽지 않습니다.

31
xenoterracide
sed G 
# option: g G    Copy/append hold space to pattern space.

G는 자주 사용되지 않지만이 목적에는 적합합니다. sed 두 개의 버퍼 공간을 유지합니다 :“패턴 공간”및“홀드 공간”. sed에 의해 처리 된 행은 일반적으로 다양한 명령이 내용에 따라 작동 할 때 패턴 공간을 통해 흐릅니다 (s///, p 등); 보류 공간은 비워지고 일부 명령에서만 사용됩니다.

G 명령은 줄 바꾸기 및 보류 공간의 내용을 패턴 공간에 추가합니다. 위의 sed 프로그램은 보류 공간에 아무것도 넣지 않으므로 G는 처리되는 모든 행에 줄 바꿈 만 효과적으로 추가합니다.

53
Chris Johnsen

추가 줄 바꿈을 추가하려면 awk를 사용하십시오. 또한 원하지 않는 것을 걸러 낼 수 있습니다.

awk '{print $0,"\n"}' | less
9
KeithB

Sed를 사용하고 전체 줄을 추가하고 줄 바꿈 문자 하나를 추가하십시오.

grep foo /var/log/maillog | sed -e "s/^.*$/&1\n/"
5
fschmitt

이것이 당신이 무엇을하고 있습니까?

grep SPAM mail.log | while read -r line; do echo; echo $line; done

3
Nifle

파이프 | 출력 :

sed G

예:

ls | sed G

만약 너라면 man sed 당신은 볼 것이다

G 줄 바꿈 문자 다음에 보류 공간의 내용이 패턴 공간에 추가됩니다.

0
jasonleonhard

단순한 모양 이상의 것을 원한다면 텍스트 파일로 보내고 텍스트 편집기로 열어서 줄 바꿈 여부를 설정하고 쉽게 검색 할 수 있습니다 ... 원치 않는 줄을 삭제하지 않고 등을 삭제하십시오. 많은 명령을 입력해야합니다.

cat file.log > log.txtgedit log.txt 또는 nano와 같은 터미널 편집기

수정 : 또는 cp file.log log.txt KeithB의 의견 덕분에 더 쉽고 빠릅니다.

0
laurent