답변:
vim을 사용하지 않거나 다른 용도로 sed를 사용하지 않는 경우 cat은 실제로 여러 개의 빈 줄을 접는 쉬운 내장 방법을 사용 cat -s
합니다.
당신이 정력에 이미 있었고, 거기 체재하고 싶었다면, 당신은 내부 검색이 작업을 수행하고 실행하여 대체 할 수있는 : :%s!\n\n\n\+!^M^M!g
합니다 (^ M은 개행 문자의 시각적 표현은, 당신이 타격하여 입력 할 수 있습니다 Ctrl+를 vEnter, 또는 자신에게 저장) 고양이를 겨냥하여 입력 : :%!cat -s
.
:%!cat -s
. 매일 GNnew를 배우십시오!
%s!\n\n\n\+!\r\r!g
\n
검색 패턴에서 줄 바꿈을 나타내는 데 사용하십시오 . 대체 텍스트에 Ctrl+ M를 사용 하거나 역 참조를 사용하십시오. 참조 :help pattern
및 :help sub-replace-special
(에서 연결 :help :s
).
%s/\(\n\n\)\n\+/\1/
\n
하며 대체 텍스트에서 작동하지 않습니다.
Vim에 있다면 다음과 같이하십시오 :
:%!cat -s
man
페이지 의 인용문 인 경우에도 작동 방식에 대해 약간의 세부 사항을 추가 할 수 있습니다 .
나는 이것이 바보 같은 코드라는 것을 알고 있지만 10 분 안에이 문제를 해결하고 싶었습니다.
for file in /directory/*
do
originalname=$file
us='_'
tempname=$file$us
echo $originalname
mv $originalname $tempname
uniq $tempname $originalname
rm $tempname
done
uniq
인접한 동일한 선을 제거합니다. OP가 원하는 것이 아닙니다.
-s
고양이 의 옵션을 몰랐다 -단지 역사적인 메모는 POSIX에는 없지만 BSD와 GNU 고양이에서 사용할 수있는 것 같습니다.