삭제하지만\n삭제하지는 않습니다.\n\n

삭제하지만\n삭제하지는 않습니다.\n\n

데이터

23. Lorem
A) he
B) ha
C) hu
c

2. Ipsun yes right to write something here?
A) Ok
B) No 
C) yes
b

292. Ipsun
A) Apex
B) hello
b

289. He
A) hu
B) Ha
C) He
The right answer is:
1) Ab
2) Abc
3) Ac
2

Quizlet.com의 구문 요구 사항을 충족하려면 대체 항목을 반환해야 합니다.

23. Lorem A) he B) ha C) hu
c    
2. Ipsun yes right to write something here? A) Ok B) No C) yes 
b
292. Ipsun A) Apex B) hello
b
289. He A) hu B) Ha C) He The right answer is: 1) Ab 2) Abc 3) Ac
2

s/\n//g그러면 Vim의 모든 공백이 제거됩니다.

Perl 또는 Vim에서 \n을 모두 제거하고 \n\n을 제거하는 방법은 무엇입니까? 나는 그것이 필요하다고 생각한다.시야두 번째가 없다는 것을 알기 전까지는 교체할 수 없기 때문입니다. \n.

답변1

새로운 GNU sed(매개변수 -z 사용)는 한 번만 실행하면 됩니다.

sed -z 's/\n\(\n\|[A-Z0-9][)a-z]\)/ \1/g' DATA

답변2

awk+를 사용할까요 sed? 을 위한:

$ cat quiz 
23. Lorem
A) he
B) ha
C) hu
c

2. Ipsun yes right to write something here?
A) Ok
B) No 
C) yes
b

달리기

$ awk NF=NF RS= OFS=' ' quiz | sed 's/\([a-z]$\)/\n\1/' 

23. Lorem A) he B) ha C) hu 
c
2. Ipsun yes right to write something here? A) Ok B) No C) yes 
b

답변3

나는 정규식을 다루는 것을 좋아하지만 실제로는 능숙하다고 느끼지 않습니다. 나는 당신이 원하는 것을 두 단계로 수행할 것입니다:

$ perl -i.bak -0pe  's/\n([A-Z])/ \1/g' DATA
$ less DATA
23. Lorem A) he B) ha C) hu
c

2. Ipsun yes right to write something here? A) Ok B) No  C) yes
b

이제 Emacs에서 sedor function과 같은 빈 줄을 제거하세요.flush-lines

$ sed '/^$/d' -i DATA
$ less DATA
23. Lorem A) he B) ha C) hu
c
2. Ipsun yes right to write something here? A) Ok B) No  C) yes
b

아니면 :Vim을 누르고 다음을 붙여넣으세요: /^$/d.

편집하다:

$ perl -i.bak -0pe 's/\n([A-Z0-9]\))/ \1/g' DATA

답변4

구문은 다음과 같습니다vim의 부정적인 예측다음과 같습니다:

:s/\n\n\@!//gN

N몇 줄은 어디에 있습니까?펄에서, 이것은 ~이 될 것이다:

s/\n(?!\n)//

하지만c, 예제 출력에서 ​​와 b둘 다 자체 라인에 있기 때문에 정확히 원하는 작업이 아니라는 것을 알게 될 것입니다 . 뒤에 다른 줄 바꿈이 오지 않는 모든 줄 바꿈을 바꾸면 이전 줄과 연결됩니다. 즉, 다음과 같습니다.

23. LoremA) heB) haC) huc
2. Ipsun yes right to write something here?A) OkB) No C) yesb  

관련 정보