UNIX를 사용하여 텍스트 파일의 특정 행 삭제

사용자 2966591

정리가 필요한 텍스트 파일이 많이 있습니다. Im UNIX bash를 사용하므로 AWK 또는 grep이 좋습니다.

다음과 같은 텍스트 파일 :

1766 1789  
1764 1790  
1762 1849  
0  
1357 1817  
1366 1857  
0  
360 42  
352 95  
0  
293 142  
302 181  
delete-this  
0  
302 181   
0  

내가 원하는 것은 "0", "delete-this"가있는 모든 행을 삭제하는 것입니다. 두 개의 열이있는 한 행 또는 두 개의 열이있는 세 개의 행만 삭제합니다.

결과는 다음과 같습니다.

1766 1789    
1762 1849   
1357 1817  
1366 1857    
360 42  
352 95    
293 142  
302 181 

감사합니다!

추가 정보 : 1 행 2 열과 2 행 2 열의 합계는 1보다 커야합니다. 그렇지 않은 경우 2 행을 삭제해야합니다.

Jotne

이것은 어렵거나 이해하기 어려웠지만 다시 시작합니다.

awk '/[0-9]+ [0-9]+/ {a[++t]=$0;b[t]=$2;next} {if (t>=2) for (i=1;i<=t;i++) {if (b[i]-c!=1) print a[i];c=b[i]};t=0}'
1766 1789
1762 1849
1357 1817
1366 1857
360 42
352 95
293 142
302 181

작동 원리 :

awk '
    /[0-9]+ [0-9]+/ {               # if line does have 2 column of number, then 
        a[++t]=$0                   # add line to array "a" and increment variable "t"
        b[t]=$2                     # add column 2 to array "b"
        next                        # go to next line
        }

        {
        if (t>=2)                   # is there more two or more lines with numbers connrected, then
            for (i=1;i<=t;i++) {    # loop trough array "a" with all numbers
                if (b[i]-c!=1)      # test if the difference between this number in column 2 is more than 1 compare to previous line
                    print a[i]      # then print array "a"
                    c=b[i]          # store array "b" information in variable "b"
                }
            ;t=0                    # clear counter "t"
        }' file

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

for 루프를 사용하여 R의 특정 인스턴스 행 삭제

분류에서Dev

awk 또는 sed를 사용하여 텍스트 파일에서 행 사이의 행 삭제

분류에서Dev

awk 또는 sed를 사용하여 텍스트 파일에서 행 사이의 행 삭제

분류에서Dev

PHP를 사용하여 테이블의 특정 행 삭제

분류에서Dev

Apache_poi를 사용하여 특정 텍스트를 포함하는 Excel 행 삭제

분류에서Dev

SED를 사용하여 파일의 텍스트 삭제

분류에서Dev

API를 사용하여 Google 스프레드 시트에서 특정 행 삭제

분류에서Dev

Python을 사용하여 텍스트 파일에서 특정 줄 수 삭제

분류에서Dev

사용자 입력 Python 3을 사용하여 텍스트 파일의 특정 줄을 삭제하는 방법

분류에서Dev

배치 스크립트를 사용하여 텍스트 파일의 모든 행의 특정 열에 텍스트를 작성합니다.

분류에서Dev

텍스트 파일에 대한 작업을 동시에 수행 한 후 텍스트 파일의 특정 줄을 삭제하는 방법

분류에서Dev

텍스트 파일에서 특정 문자를 포함하는 줄 삭제

분류에서Dev

sed를 사용하여 텍스트 파일의 일부 및 다음 줄 삭제

분류에서Dev

하나의 변수를 기반으로 텍스트 파일의 특정 줄 삭제

분류에서Dev

PHP를 사용하여 MySQL의 테이블에서 특정 행 삭제

분류에서Dev

API를 사용하여 in bitbucket repo의 특정 분기 삭제 (셸 스크립트)

분류에서Dev

sed를 사용하여 문제가있는 텍스트 파일의 줄 수정

분류에서Dev

Apps Script를 사용하여 Google 스프레드 시트에서 특정 시트 범위의 보호되지 않은 모든 행을 삭제하는 방법

분류에서Dev

numpy를 사용하여 특정 텍스트 파일 행에서 데이터 추출

분류에서Dev

Powershell을 사용하여 텍스트 파일에서 특정 문자를 자동 삭제하고 새 위치에 저장

분류에서Dev

텍스트 파일의 모든 행에서 특수 문자 뒤의 추가 공백을 삭제하십시오.

분류에서Dev

루비를 사용하여 텍스트 파일의 특정 위치에 쓰기

분류에서Dev

Codeigniter를 사용하여 특정 행 삭제

분류에서Dev

Codeigniter를 사용하여 특정 행 삭제

분류에서Dev

두 특정 문자 사이의 텍스트 파일에서 콘텐츠 삭제

분류에서Dev

Python에서 *를 사용하여 특정 확장자의 파일 삭제

분류에서Dev

C ++에서 텍스트 파일의 특정 줄을 삭제하는 방법

분류에서Dev

bash를 사용하여 파일의 특정 행에 sed 적용

분류에서Dev

배치 파일에서 스크립트를 실행 한 후 특정 일수 후에 특정 파일을 영구적으로 삭제하는 방법

Related 관련 기사

  1. 1

    for 루프를 사용하여 R의 특정 인스턴스 행 삭제

  2. 2

    awk 또는 sed를 사용하여 텍스트 파일에서 행 사이의 행 삭제

  3. 3

    awk 또는 sed를 사용하여 텍스트 파일에서 행 사이의 행 삭제

  4. 4

    PHP를 사용하여 테이블의 특정 행 삭제

  5. 5

    Apache_poi를 사용하여 특정 텍스트를 포함하는 Excel 행 삭제

  6. 6

    SED를 사용하여 파일의 텍스트 삭제

  7. 7

    API를 사용하여 Google 스프레드 시트에서 특정 행 삭제

  8. 8

    Python을 사용하여 텍스트 파일에서 특정 줄 수 삭제

  9. 9

    사용자 입력 Python 3을 사용하여 텍스트 파일의 특정 줄을 삭제하는 방법

  10. 10

    배치 스크립트를 사용하여 텍스트 파일의 모든 행의 특정 열에 텍스트를 작성합니다.

  11. 11

    텍스트 파일에 대한 작업을 동시에 수행 한 후 텍스트 파일의 특정 줄을 삭제하는 방법

  12. 12

    텍스트 파일에서 특정 문자를 포함하는 줄 삭제

  13. 13

    sed를 사용하여 텍스트 파일의 일부 및 다음 줄 삭제

  14. 14

    하나의 변수를 기반으로 텍스트 파일의 특정 줄 삭제

  15. 15

    PHP를 사용하여 MySQL의 테이블에서 특정 행 삭제

  16. 16

    API를 사용하여 in bitbucket repo의 특정 분기 삭제 (셸 스크립트)

  17. 17

    sed를 사용하여 문제가있는 텍스트 파일의 줄 수정

  18. 18

    Apps Script를 사용하여 Google 스프레드 시트에서 특정 시트 범위의 보호되지 않은 모든 행을 삭제하는 방법

  19. 19

    numpy를 사용하여 특정 텍스트 파일 행에서 데이터 추출

  20. 20

    Powershell을 사용하여 텍스트 파일에서 특정 문자를 자동 삭제하고 새 위치에 저장

  21. 21

    텍스트 파일의 모든 행에서 특수 문자 뒤의 추가 공백을 삭제하십시오.

  22. 22

    루비를 사용하여 텍스트 파일의 특정 위치에 쓰기

  23. 23

    Codeigniter를 사용하여 특정 행 삭제

  24. 24

    Codeigniter를 사용하여 특정 행 삭제

  25. 25

    두 특정 문자 사이의 텍스트 파일에서 콘텐츠 삭제

  26. 26

    Python에서 *를 사용하여 특정 확장자의 파일 삭제

  27. 27

    C ++에서 텍스트 파일의 특정 줄을 삭제하는 방법

  28. 28

    bash를 사용하여 파일의 특정 행에 sed 적용

  29. 29

    배치 파일에서 스크립트를 실행 한 후 특정 일수 후에 특정 파일을 영구적으로 삭제하는 방법

뜨겁다태그

보관