1行内の重複する値を削除するにはどうすればよいですか?

ルビーシェン

私はこのようなファイルを持っています:

$ 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

最初の「_」の前のテキストは、次のようなグループ番号です。

  • グラムの番号_  ...
  • グラム1 /2 _  ...
  • G1 /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

最後の3行では、同じグループ番号が削除され、一意のグループ番号のみが保持されます。

スティールドライバー

を使用して、このようなことを試すことができます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/xg5120/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

1行の重複セルを見つけて削除するにはどうすればよいですか?

分類Dev

複数の選択から重複する値を削除するにはどうすればよいですか?

分類Dev

行内の重複値を検索し、重複に基づいて別の列で最大値を検索するにはどうすればよいですか?

分類Dev

Pythonで1つの列内の複数の値を削除するにはどうすればよいですか?

分類Dev

Pythonで1行内の最小数を選択するにはどうすればよいですか?

分類Dev

行内の重複する要素を特定するにはどうすればよいですか

分類Dev

Javascriptの動的選択から重複する値を削除するにはどうすればよいですか?

分類Dev

codeigniterで重複する値の配列を削除するにはどうすればよいですか?

分類Dev

2つの配列で重複する値を削除するにはどうすればよいですか?

分類Dev

MySQLで同じ値を持つ重複行を削除するにはどうすればよいですか?

分類Dev

多次元配列内の重複する要素を削除するにはどうすればよいですか?

分類Dev

セル内の重複する単語を削除するにはどうすればよいですか?

分類Dev

`uniq`を使用せずに配列内の重複を削除するにはどうすればよいですか?

分類Dev

Javascriptで配列内の重複配列を削除するにはどうすればよいですか?

分類Dev

正規表現で複数行内の特殊文字を削除するにはどうすればよいですか?

分類Dev

重複する行を削除するクエリを作成するにはどうすればよいですか?

分類Dev

値型TのList <List <T >>から重複を削除するにはどうすればよいですか?

分類Dev

テキストファイル内の重複行を削除して、削除された行の数を取得するにはどうすればよいですか?

分類Dev

Angular js ng-repeatでキーの重複値を削除するにはどうすればよいですか?

分類Dev

リスト内の重複アイテムを削除するにはどうすればよいですか?

分類Dev

ドキュメント内の重複を削除するにはどうすればよいですか?

分類Dev

配列内の重複データを削除するにはどうすればよいですか?

分類Dev

2Dリストの最初の重複値を削除するにはどうすればよいですか?

分類Dev

重複した行のみを安全に削除するにはどうすればよいですか?

分類Dev

条件付きでSQLServerの重複行を削除するにはどうすればよいですか?

分類Dev

条件付きでSQLServerの重複行を削除するにはどうすればよいですか?

分類Dev

複数値マップから「垂直重複」値を削除するにはどうすればよいですか?

分類Dev

重複する値を持つ異なる列名を削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    列行内の重複エントリを削除するにはどうすればよいですか?

  2. 2

    1行の重複セルを見つけて削除するにはどうすればよいですか?

  3. 3

    複数の選択から重複する値を削除するにはどうすればよいですか?

  4. 4

    行内の重複値を検索し、重複に基づいて別の列で最大値を検索するにはどうすればよいですか?

  5. 5

    Pythonで1つの列内の複数の値を削除するにはどうすればよいですか?

  6. 6

    Pythonで1行内の最小数を選択するにはどうすればよいですか?

  7. 7

    行内の重複する要素を特定するにはどうすればよいですか

  8. 8

    Javascriptの動的選択から重複する値を削除するにはどうすればよいですか?

  9. 9

    codeigniterで重複する値の配列を削除するにはどうすればよいですか?

  10. 10

    2つの配列で重複する値を削除するにはどうすればよいですか?

  11. 11

    MySQLで同じ値を持つ重複行を削除するにはどうすればよいですか?

  12. 12

    多次元配列内の重複する要素を削除するにはどうすればよいですか?

  13. 13

    セル内の重複する単語を削除するにはどうすればよいですか?

  14. 14

    `uniq`を使用せずに配列内の重複を削除するにはどうすればよいですか?

  15. 15

    Javascriptで配列内の重複配列を削除するにはどうすればよいですか?

  16. 16

    正規表現で複数行内の特殊文字を削除するにはどうすればよいですか?

  17. 17

    重複する行を削除するクエリを作成するにはどうすればよいですか?

  18. 18

    値型TのList <List <T >>から重複を削除するにはどうすればよいですか?

  19. 19

    テキストファイル内の重複行を削除して、削除された行の数を取得するにはどうすればよいですか?

  20. 20

    Angular js ng-repeatでキーの重複値を削除するにはどうすればよいですか?

  21. 21

    リスト内の重複アイテムを削除するにはどうすればよいですか?

  22. 22

    ドキュメント内の重複を削除するにはどうすればよいですか?

  23. 23

    配列内の重複データを削除するにはどうすればよいですか?

  24. 24

    2Dリストの最初の重複値を削除するにはどうすればよいですか?

  25. 25

    重複した行のみを安全に削除するにはどうすればよいですか?

  26. 26

    条件付きでSQLServerの重複行を削除するにはどうすればよいですか?

  27. 27

    条件付きでSQLServerの重複行を削除するにはどうすればよいですか?

  28. 28

    複数値マップから「垂直重複」値を削除するにはどうすればよいですか?

  29. 29

    重複する値を持つ異なる列名を削除するにはどうすればよいですか?

ホットタグ

アーカイブ