메일 로그는 읽기가 매우 어렵습니다. 명령 줄에 인쇄 된 각 줄 사이에 빈 줄을 어떻게 출력 할 수 있습니까? 예를 들어, 로그를 정리하고 있다고 가정하십시오. 이렇게하면 여러 줄 바꿈이 혼란스럽지 않습니다.
메일 로그는 읽기가 매우 어렵습니다. 명령 줄에 인쇄 된 각 줄 사이에 빈 줄을 어떻게 출력 할 수 있습니까? 예를 들어, 로그를 정리하고 있다고 가정하십시오. 이렇게하면 여러 줄 바꿈이 혼란스럽지 않습니다.
답변:
sed G
# option: g G Copy/append hold space to pattern space.
G
자주 사용되지는 않지만이 목적에는 적합합니다. sed 는“패턴 공간”과“홀드 공간”이라는 두 가지 버퍼 공간을 유지합니다. sed가 처리 한 라인 일반적으로 다양한 명령이 내용 ( , 등) s///
에서 작동 할 때 패턴 공간을 통해 흐릅니다 p
. 보류 공간은 비워지고 일부 명령에서만 사용됩니다.
G
명령은 줄 바꿈 및 패턴 영역에 보류 영역의 내용을 추가합니다. 위의 sed 프로그램은 보류 공간에 아무것도 넣지 않으므로 G
처리되는 모든 줄에 줄 바꿈을 효과적으로 추가합니다.
-e
단 하나의 명령 인수 만 필요하므로 생략 할 수도 있습니다 .
이것이 당신이 무엇을하고 있습니까?
grep SPAM mail.log | while read -r line; do echo; echo $line; done
read -r
백 슬래시 문자를 특수 문자로 취급하지 않도록하는 것이 좋습니다 .
단순한 모양 이상의 것을 원한다면 텍스트 파일로 보내고 텍스트 편집기로 열어서 줄 바꿈 여부를 설정하고 쉽게 검색 할 수 있습니다 ... 원치 않는 줄을 삭제하지 않고 등을 삭제하십시오. 많은 명령을 입력해야합니다.
cat file.log > log.txt
및 gedit log.txt
또는 나노 같은 단말 편집기
편집 : 또는 cp file.log log.txt
물론 더 쉽고 빠릅니다 ... KeithB 의견 덕분에
cat
그렇지 cp
않습니까?
cp
쉽고 빠르게 것 ... LOL! - 내가 다루는 다른 답변 읽고 있었다 grep
그리고 awk
나는 그에게 쓴 그래서를 cat
하지만 난 그것을 수정하고있어, 감사 방법
whatever | sed G
은 트릭을 수행해야합니다.