한 줄에서 중복 값을 제거하는 방법은 무엇입니까?

루비 쉥

다음과 같은 파일이 있습니다.

$ cat file
    rep1 rep2
g1001_INpfu_DN44908_c3_g1 17.85 19.95
g10042/1330/2846_INpfu_DN43979_c0_g3 34.07 29.19
g1077/1457/278/278_INpfu_PRJNA287145_DN42983_c0_g1 20.69 21.64
g100/100_INpfu_DN43143_c0_g1 52.36 33.64
g79/79/79/79_INpfu_DN45068_c4_g1 58.83 74.58

첫 번째 "_"앞의 텍스트는 다음과 같이 그룹 번호입니다.

  • g 번호 _  ...
  • g 숫자 1 / 숫자 2 _  ...
  • g 숫자 1 / 숫자 2 / 숫자 3 _  ...

등 (조명을 위해 공백이 추가됩니다.) 슬래시는 여러 그룹을 의미합니다. 한 줄에 중복 된 그룹 번호가있는 경우 제거하고 싶습니다.

예상 결과는 다음과 같습니다.

    rep1 rep2
g1001_INpfu_DN44908_c3_g1 17.85 19.95
g10042/1330/2846_INpfu_DN43979_c0_g3 34.07 29.19
g1077/1457/278_INpfu_PRJNA287145_DN42983_c0_g1 20.69 21.64
g100_INpfu_DN43143_c0_g1 52.36 33.64
g79_INpfu_DN45068_c4_g1 58.83 74.58

마지막 세 줄에서 동일한 그룹 번호가 제거되고 고유 한 그룹 번호 만 유지됩니다.

스틸 드라이버

다음을 사용하여 다음과 같이 시도 할 수 있습니다 sed.

$ sed -e :a -e 's:\([0-9][0-9]*\)/\1:\1:' -e ta file
rep1 rep2
g1001_INpfu_DN44908_c3_g1 17.85 19.95
g10042/1330/2846_INpfu_DN43979_c0_g3 34.07 29.19
g1077/1457/278_INpfu_PRJNA287145_DN42983_c0_g1 20.69 21.64
g100_INpfu_DN43143_c0_g1 52.36 33.64
g79_INpfu_DN45068_c4_g1 58.83 74.58

같은 부분 일치 처리하기 위해 g512/12/x또는을 g512/5120/x로 선회없이 g512/x하고 g5120/x, 당신은 숫자가 아닌 앵커 양쪽을 추가 할 수 있습니다 :

sed -e :a -e 's:\([^0-9]\)\([0-9][0-9]*\)/\2\([^0-9]\):\1\2\3:' -e ta file

또는 확장 정규식을 사용하여 약간 더 읽기 쉽게

sed -E -e :a -e 's:([^0-9])([0-9]+)/\2([^0-9]):\1\2\3:' -e ta file

전의. 주어진

$ cat file
    rep1 rep2
g1001_INpfu_DN44908_c3_g1 17.85 19.95
g10042/1330/2846_INpfu_DN43979_c0_g3 34.07 29.19
g1077/1457/278/278_INpfu_PRJNA287145_DN42983_c0_g1 20.69 21.64
g512/12_INpfu_DN43143_c0_g1 52.36 33.64
g100/100_INpfu_DN43143_c0_g1 52.36 33.64
g512/5120_INpfu_DN43143_c0_g1 52.36 33.64
g79/79/79/79_INpfu_DN45068_c4_g1 58.83 74.58

그때

$ sed -E -e :a -e 's:([^0-9])([0-9]+)/\2([^0-9]):\1\2\3:' -e ta file
    rep1 rep2
g1001_INpfu_DN44908_c3_g1 17.85 19.95
g10042/1330/2846_INpfu_DN43979_c0_g3 34.07 29.19
g1077/1457/278_INpfu_PRJNA287145_DN42983_c0_g1 20.69 21.64
g512/12_INpfu_DN43143_c0_g1 52.36 33.64
g100_INpfu_DN43143_c0_g1 52.36 33.64
g512/5120_INpfu_DN43143_c0_g1 52.36 33.64
g79_INpfu_DN45068_c4_g1 58.83 74.58

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

유사한 방법에서 중복성을 제거하는 방법은 무엇입니까?

분류에서Dev

Bootstrap-3-Typeahead가 반환 한 결과에서 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

VIm에서 어딘가에 중복되는 모든 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

문서에서 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

기록에서 한 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

Python에서 중복 트윗을 제거하는 방법은 무엇입니까?

분류에서Dev

SELECT 절에서 중복 식을 제거하는 방법은 무엇입니까?

분류에서Dev

팬더에서 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

SQL 목록에서 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

FragmentManager에서 중복 항목을 제거하는 방법은 무엇입니까?

분류에서Dev

텍스트 파일에서 중복 된 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

파일에서 중복 된 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

파일에서 중복 된 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

파일 내에서 중복 된 특정 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

파일 내에서 중복 된 특정 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

모든 것을 제거한 패키지 제거에서 복구하는 방법은 무엇입니까?

분류에서Dev

SOLR의 다중 값 필드에서 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임에서 중복 값이있는 열을 제거하는 방법은 무엇입니까?

분류에서Dev

SQL에서 DISTINCT를 사용하지 않고 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

빈 줄을 유지하면서 awk로 중복 줄을 제거하는 방법은 무엇입니까?

분류에서Dev

값 유형 T에 대해 List <List <T >>에서 중복을 제거하는 방법은 무엇입니까?

분류에서Dev

Codeigniter에서 중복 값 배열을 제거하는 방법은 무엇입니까?

분류에서Dev

MongoDB의 목록 배열에서 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

파이썬으로 사전에서 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

data.frame R에서 중복 된 'NA'와 값을 제거하는 방법은 무엇입니까?

분류에서Dev

데이터 프레임의 특정 열에서 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

테이블에서 중복 / 해당 값을 제거하는 방법은 무엇입니까?

분류에서Dev

int 배열에서 중복 값을 제거하는 방법은 무엇입니까?

분류에서Dev

두 배열에서 중복 값을 제거하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    유사한 방법에서 중복성을 제거하는 방법은 무엇입니까?

  2. 2

    Bootstrap-3-Typeahead가 반환 한 결과에서 중복을 제거하는 방법은 무엇입니까?

  3. 3

    VIm에서 어딘가에 중복되는 모든 줄을 제거하는 방법은 무엇입니까?

  4. 4

    문서에서 중복을 제거하는 방법은 무엇입니까?

  5. 5

    기록에서 한 줄을 제거하는 방법은 무엇입니까?

  6. 6

    Python에서 중복 트윗을 제거하는 방법은 무엇입니까?

  7. 7

    SELECT 절에서 중복 식을 제거하는 방법은 무엇입니까?

  8. 8

    팬더에서 중복을 제거하는 방법은 무엇입니까?

  9. 9

    SQL 목록에서 중복을 제거하는 방법은 무엇입니까?

  10. 10

    FragmentManager에서 중복 항목을 제거하는 방법은 무엇입니까?

  11. 11

    텍스트 파일에서 중복 된 줄을 제거하는 방법은 무엇입니까?

  12. 12

    파일에서 중복 된 줄을 제거하는 방법은 무엇입니까?

  13. 13

    파일에서 중복 된 줄을 제거하는 방법은 무엇입니까?

  14. 14

    파일 내에서 중복 된 특정 줄을 제거하는 방법은 무엇입니까?

  15. 15

    파일 내에서 중복 된 특정 줄을 제거하는 방법은 무엇입니까?

  16. 16

    모든 것을 제거한 패키지 제거에서 복구하는 방법은 무엇입니까?

  17. 17

    SOLR의 다중 값 필드에서 중복을 제거하는 방법은 무엇입니까?

  18. 18

    데이터 프레임에서 중복 값이있는 열을 제거하는 방법은 무엇입니까?

  19. 19

    SQL에서 DISTINCT를 사용하지 않고 중복 값을 제거하는 방법은 무엇입니까?

  20. 20

    빈 줄을 유지하면서 awk로 중복 줄을 제거하는 방법은 무엇입니까?

  21. 21

    값 유형 T에 대해 List <List <T >>에서 중복을 제거하는 방법은 무엇입니까?

  22. 22

    Codeigniter에서 중복 값 배열을 제거하는 방법은 무엇입니까?

  23. 23

    MongoDB의 목록 배열에서 중복 값을 제거하는 방법은 무엇입니까?

  24. 24

    파이썬으로 사전에서 중복 값을 제거하는 방법은 무엇입니까?

  25. 25

    data.frame R에서 중복 된 'NA'와 값을 제거하는 방법은 무엇입니까?

  26. 26

    데이터 프레임의 특정 열에서 중복 값을 제거하는 방법은 무엇입니까?

  27. 27

    테이블에서 중복 / 해당 값을 제거하는 방법은 무엇입니까?

  28. 28

    int 배열에서 중복 값을 제거하는 방법은 무엇입니까?

  29. 29

    두 배열에서 중복 값을 제거하는 방법은 무엇입니까?

뜨겁다태그

보관