Linux의 파일에서 패턴이 다른 두 줄을 어떻게 결합 할 수 있습니까?

비샬 마하 잔

두 줄로 작성된 파일에 줄을 결합하고 싶습니다. 예를 들어 아래와 같이 각각 속담과 저자 이름이있는 첫 번째 줄과 두 번째 줄을 연결하고 싶습니다. 모든 유사한 사건을 파일에 결합하고 싶습니다.

Shift + J를 사용하여 수동으로 결합 할 수 있지만 거의 10000 개의 줄이 있고하기가 매우 어려워졌습니다.

  1. , 119., 120.은 줄에있는 원래 소스 줄 번호입니다.

그래서 줄의 시작 부분에 숫자가 있고 점, 그리고 공백, 그리고 텍스트가있는 모든 줄을 검색해서 결합하고 싶습니다. ^ [0-9] *. (118.) 그리고 줄의 시작 부분에 숫자가없는 다음 줄. 그래서 그들과 함께하십시오.

나는 모든 곳을 검색하고 그것을 구현하려고 시도했지만 아무 소용이 없습니다.

118. People don't care how much you know until they know how much they care.
John C. Maxwell
119. A life lived in fear is a life half lived. - Proverb
120. Nothing great was ever achieved without enthusiasm.     
Ralph Waldo Emerson
121. Damn the torpedoes, full speed ahead. - David Farragut
122. Our lives begin to end the day we become silent about things that matter. - 
Martin Luther King, Jr.
조나단 레플러

이렇게해야합니다.

awk '/^[0-9]+\./ { if (last) print last; last = $0; next }
                 { print last, $0; last = "" }'

주어진 데이터 파일 :

118. People don't care how much you know until they know how much they care. 
John C. Maxwell
119. A life lived in fear is a life half lived. - Proverb
120. Nothing great was ever achieved without enthusiasm. 
Ralph Waldo Emerson
121. Damn the torpedoes, full speed ahead. - David Farragut
122. Our lives begin to end the day we become silent about things that matter. - 
Martin Luther King, Jr.

그러면 출력이 생성됩니다.

118. People don't care how much you know until they know how much they care.  John C. Maxwell
119. A life lived in fear is a life half lived. - Proverb
120. Nothing great was ever achieved without enthusiasm.  Ralph Waldo Emerson
121. Damn the torpedoes, full speed ahead. - David Farragut
122. Our lives begin to end the day we become silent about things that matter. -  Martin Luther King, Jr.

코드는 하나의 연속 줄만 있다고 가정합니다. 연속 줄이 여러 개있을 수 있다면 더 복잡한 스크립트가 필요합니다.

$ cat new.data
118. People don't care how much you know until they know how much they care. 
John C. Maxwell
119. A life lived in fear is a life half lived. - Proverb
120. Nothing great was ever achieved without enthusiasm. 
Ralph Waldo Emerson
121. Damn the torpedoes, full speed ahead. - David Farragut
122. Our lives begin to end the day we become silent about things that matter. - 
Martin Luther King, Jr.
123. More than one line of data causes trouble for the basic script.
A more complex script can deal with those too. -
Jonathan Leffler
$ awk '/^[0-9]+\./ { if (last) print last; last = $0; next }
>                  { last = last " " $0 }
>      END         { if (last) print last }' new.data
118. People don't care how much you know until they know how much they care.  John C. Maxwell
119. A life lived in fear is a life half lived. - Proverb
120. Nothing great was ever achieved without enthusiasm.  Ralph Waldo Emerson
121. Damn the torpedoes, full speed ahead. - David Farragut
122. Our lives begin to end the day we become silent about things that matter. -  Martin Luther King, Jr.
123. More than one line of data causes trouble for the basic script. A more complex script can deal with those too. - Jonathan Leffler
$

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

어떻게 단일 파일을 두 개의 다른 스트림에 동시에 연결할 수 있습니까?

분류에서Dev

조건이있는 두 개의 다른 배열을 어떻게 결합 할 수 있습니까?

분류에서Dev

Excel에서 두 개의 IF 문을 어떻게 결합 할 수 있습니까?

분류에서Dev

이 두 개의 select 문을 어떻게 결합 할 수 있습니까?

분류에서Dev

팁에 두 개 이상의 줄을 어떻게 할 수 있습니까?

분류에서Dev

패턴까지 모든 것을 삭제하고 라인에서 다른 패턴 이후의 모든 것을 어떻게 삭제할 수 있습니까?

분류에서Dev

PostgreSQL을 사용하여 서로 다른 데이터베이스의 두 테이블을 어떻게 연결할 수 있습니까?

분류에서Dev

명령 줄에서 두 실행 파일의 버전을 어떻게 비교할 수 있습니까?

분류에서Dev

두 개의 다른 REST API에서 Angular의 $ resource 결과를 어떻게 수정할 수 있습니까?

분류에서Dev

어떻게 파이썬 dataframe에서 색인을 결합 할 수 있습니다?

분류에서Dev

두 파일 그룹에 대해 Makefile에서 다른 규칙을 어떻게 사용할 수 있습니까?

분류에서Dev

두 파일의 차이점을 어떻게 출력 할 수 있습니까?

분류에서Dev

다른 유형의 파일에 대한 줄 제한 길이를 어떻게 설정할 수 있습니까?

분류에서Dev

mysql 쿼리에서 두 개의 다른 뷰를 어떻게 연결할 수 있습니까?

분류에서Dev

Ubuntu에서 1 개의 파일을 N 개의 다른 파일과 어떻게 비교할 수 있습니까?

분류에서Dev

OpenLayers에서 두 개의 다른 벡터 레이어를 어떻게 구별 할 수 있습니까?

분류에서Dev

한 CSV의 한 줄을 다른 CSV 파일의 모든 줄과 어떻게 비교할 수 있습니까?

분류에서Dev

두 개의 다른 클래스로 패널에서 어떻게 칠할 수 있습니까?

분류에서Dev

이 두 행을 SQL에서 하나의 열로 어떻게 연결할 수 있습니까?

분류에서Dev

Oracle SQL 두 개의 다른 열에있는 열의 값을 어떻게 구분할 수 있습니까?

분류에서Dev

Bash : 줄 수에 따라 파일을 나누고 데이터를 두 개의 다른 파일에 저장합니다. 어떻게하면 되나요?

분류에서Dev

SED를 사용하여 파일의 연속 된 두 줄에서 두 개의 다른 패턴을 검색하고 패턴 일치 후 다음 4 줄을 인쇄하려면 어떻게해야합니까?

분류에서Dev

파이썬에서 YAML을 다른 파일로 어떻게 분할 할 수 있습니까?

분류에서Dev

파이썬에서 큰 로그 파일의 줄을 어떻게 추출 할 수 있습니까?

분류에서Dev

파이썬에서 두 개의 다른 변수에서 동일한 난수 두 개가 생성되는 것을 어떻게 방지합니까?

분류에서Dev

두 줄에 높이가 다른 div를 어떻게 정렬하고 HTML을 편집 할 수 없습니까?

분류에서Dev

두 SVG의 상단을 다른 SVG에 어떻게 할당 할 수 있습니까?

분류에서Dev

React jsx에서 "+"두 개의 다른 값을 어떻게 추가 할 수 있습니까?

분류에서Dev

다른 페이지에서 오는 두 개의 데이터를 어떻게 반환 할 수 있습니까?

Related 관련 기사

  1. 1

    어떻게 단일 파일을 두 개의 다른 스트림에 동시에 연결할 수 있습니까?

  2. 2

    조건이있는 두 개의 다른 배열을 어떻게 결합 할 수 있습니까?

  3. 3

    Excel에서 두 개의 IF 문을 어떻게 결합 할 수 있습니까?

  4. 4

    이 두 개의 select 문을 어떻게 결합 할 수 있습니까?

  5. 5

    팁에 두 개 이상의 줄을 어떻게 할 수 있습니까?

  6. 6

    패턴까지 모든 것을 삭제하고 라인에서 다른 패턴 이후의 모든 것을 어떻게 삭제할 수 있습니까?

  7. 7

    PostgreSQL을 사용하여 서로 다른 데이터베이스의 두 테이블을 어떻게 연결할 수 있습니까?

  8. 8

    명령 줄에서 두 실행 파일의 버전을 어떻게 비교할 수 있습니까?

  9. 9

    두 개의 다른 REST API에서 Angular의 $ resource 결과를 어떻게 수정할 수 있습니까?

  10. 10

    어떻게 파이썬 dataframe에서 색인을 결합 할 수 있습니다?

  11. 11

    두 파일 그룹에 대해 Makefile에서 다른 규칙을 어떻게 사용할 수 있습니까?

  12. 12

    두 파일의 차이점을 어떻게 출력 할 수 있습니까?

  13. 13

    다른 유형의 파일에 대한 줄 제한 길이를 어떻게 설정할 수 있습니까?

  14. 14

    mysql 쿼리에서 두 개의 다른 뷰를 어떻게 연결할 수 있습니까?

  15. 15

    Ubuntu에서 1 개의 파일을 N 개의 다른 파일과 어떻게 비교할 수 있습니까?

  16. 16

    OpenLayers에서 두 개의 다른 벡터 레이어를 어떻게 구별 할 수 있습니까?

  17. 17

    한 CSV의 한 줄을 다른 CSV 파일의 모든 줄과 어떻게 비교할 수 있습니까?

  18. 18

    두 개의 다른 클래스로 패널에서 어떻게 칠할 수 있습니까?

  19. 19

    이 두 행을 SQL에서 하나의 열로 어떻게 연결할 수 있습니까?

  20. 20

    Oracle SQL 두 개의 다른 열에있는 열의 값을 어떻게 구분할 수 있습니까?

  21. 21

    Bash : 줄 수에 따라 파일을 나누고 데이터를 두 개의 다른 파일에 저장합니다. 어떻게하면 되나요?

  22. 22

    SED를 사용하여 파일의 연속 된 두 줄에서 두 개의 다른 패턴을 검색하고 패턴 일치 후 다음 4 줄을 인쇄하려면 어떻게해야합니까?

  23. 23

    파이썬에서 YAML을 다른 파일로 어떻게 분할 할 수 있습니까?

  24. 24

    파이썬에서 큰 로그 파일의 줄을 어떻게 추출 할 수 있습니까?

  25. 25

    파이썬에서 두 개의 다른 변수에서 동일한 난수 두 개가 생성되는 것을 어떻게 방지합니까?

  26. 26

    두 줄에 높이가 다른 div를 어떻게 정렬하고 HTML을 편집 할 수 없습니까?

  27. 27

    두 SVG의 상단을 다른 SVG에 어떻게 할당 할 수 있습니까?

  28. 28

    React jsx에서 "+"두 개의 다른 값을 어떻게 추가 할 수 있습니까?

  29. 29

    다른 페이지에서 오는 두 개의 데이터를 어떻게 반환 할 수 있습니까?

뜨겁다태그

보관