Ersetzen Sie das erste Vorkommen in jeder Spalte durch Bash

Elysire

Meine Eingabe sieht folgendermaßen aus (tabulatorgetrennte Datei)

CHROM POS ID REF ALT 76_BRS_AMC_00D2282 c21_BE_MS1038U_BE_MS1038U_c30 93_BRS_MST_DNA17_53119M 94_BRS_MST_DNA17_53120M 100_BRS_BRU_D14_0867
01 12153 rs2454 A G 1,0,0 1,0,0 1,0,0 1,0,0 1,0,0
01 12154 rs2455 C G 1,0,0 1,0,0 1,0,0 1,0,0 1,0,0

Und ich möchte ein "#" anstelle des ersten "_" in jedem Spaltennamen

CHROM POS ID REF ALT 76#BRS_AMC_00D2282 c21#BE_MS1038U_BE_MS1038U_c30 93#BRS_MST_DNA17_53119M 94#BRS_MST_DNA17_53120M 100#BRS_BRU_D14_0867
01 12153 rs2454 A G 1,0,0 1,0,0 1,0,0 1,0,0 1,0,0
01 12154 rs2455 C G 1,0,0 1,0,0 1,0,0 1,0,0 1,0,0

Ich weiß nicht, wie ich mit sed mit tabulationen umgehen soll, ich habe es mit awk versucht

awk -F "\t" '/_/ && count < 2 {gsub("_","#");count++} {print $0}'

Aber es ersetzt nur alle "_" und nicht nur das erste Vorkommen

Ich hätte gerne eine awk oder sed Lösung.

(Entschuldigung, wenn es sich um eine replizierte Frage handelt, habe ich die Antwort nicht gefunden.)

James Brown

subwird das erste Vorkommen ersetzen, also beschränken Sie einfach die zu bearbeitenden Datensätze NR==1, schleifen Sie jede Spalte darin, ersetzen Sie sie durch die subund printden Rest wie sie sind:

$ awk 'NR==1{for(i=1;i<=NF;i++)sub(/_/,"#",$i)}1' file
CHROM POS ID REF ALT 76#BRS_AMC_00D2282 c21#BE_MS1038U_BE_MS1038U_c30 93#BRS_MST_DNA17_53119M 94#BRS_MST_DNA17_53120M 100#BRS_BRU_D14_0867
01 12153 rs2454 A G 1,0,0 1,0,0 1,0,0 1,0,0 1,0,0
01 12154 rs2455 C G 1,0,0 1,0,0 1,0,0 1,0,0 1,0,0

(Sie müssen wahrscheinlich definieren BEGIN{FS=OFS="\t"}, ob die Ausgabe auch durch Tabulatoren getrennt werden soll. Erklärt:

$ awk '
#BEGIN{FS=OFS="\t"}       # incase you want output tab-delimited also (not in above script)
NR==1 {                  # process the header record only
    for(i=1;i<=NF;i++)   # loop every column header
        sub(/_/,"#",$i)  # replace the first _ with #
}1' file                 # output

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Ersetzen Sie für den Wert in Spalte 2 alle Werte in Spalte 1 durch das erste Vorkommen in Spalte 1

Ersetzen Sie das erste Vorkommen einer Zeichenfolge durch eine andere

Ersetzen Sie das erste und zweite Vorkommen durch unterschiedliche Zeichen

Ersetzen Sie das erste Leerzeichen in jeder Zeile durch einen Tabulator

Ersetzen Sie nur das erste Vorkommen

Ersetzen Sie das erste und dritte Vorkommen durch einen anderen Python-Regex

Ersetzen Sie das erste Wort in jeder Zeile durch das dritte, aber die Wörter werden durch ":" getrennt.

Zählen Sie nur das erste Vorkommen jeder Sequenzpython

Python: Ersetzen Sie das Sonderzeichen in jeder Spalte des Pandas-Datenrahmens durch NULL

Java, Ersetzen Sie nur das erste Vorkommen eines scharfen Zeichens (#).

Ersetzen Sie das erste Vorkommen eines Strings in Python

Ersetzen Sie das erste Vorkommen von Teilzeichenfolgen in einer Zeichenfolge in SQL

Ersetzen Sie das erste Vorkommen von '.' in SQL String

Ersetzen/Entfernen Sie nur das erste in einer Zeichenfolge gefundene Vorkommen

Ersetzen Sie das erste Vorkommen eines Musters in einem String

Gewusst wie - Suchen und ersetzen Sie nur das erste Vorkommen

Ersetzen Sie NUR das erste Vorkommen einer Zeichenfolge in SQL

R: Vorkommen in jeder Spalte zählen und den Wert dieser Spalte durch die Anzahl ersetzen (SQL?)

MATLAB: Ersetzen Sie führende Nullen jeder Spalte durch NaN

Ersetzen Sie den Wert durch den Modus jeder Spalte

Ersetzen Sie aufeinanderfolgende doppelte Zeichen durch das einzelne Vorkommen

Ersetzen Sie das erste Vorkommen des Zeichens in der Zeichenfolge, aber nur, wenn das erste Zeichen

Gruppieren Sie mehrere Spalten und erhalten Sie die Summe von zwei anderen Spalten, während Sie das erste Vorkommen jeder anderen Spalte beibehalten

Ruft den Wert für das erste Vorkommen in jeder Spalte ab

Ersetzen Sie nacheinander / rekursiv das erste numerische Element einer Spalte in einer Matrix durch Null, bis alle = Null sind

pd.Series ersetzen das erste Vorkommen

nur das erste Vorkommen eines Wortes ersetzen

Ersetzen Sie das erste oder letzte Zeichen * durch% SQL Server

Ersetzen Sie jedes Vorkommen eines Zeichens in einer Zeichenfolge durch die erste Zahl der Zeichenfolge in Sublime Text

TOP Liste

  1. 1

    Hangfire funktioniert nicht wie erwartet mit ASP.NET Core 3.1

  2. 2

    Konvertiert nicht von Methodengruppe in Func <int>

  3. 3

    Wie berechnet man den Gesamtpreis einer Bestellung mit Rails?

  4. 4

    Identifizieren Sie die Werte der ersten Spalte pro ID und arbeiten Sie basierend auf diesem Wert

  5. 5

    Konvertieren Sie eine Textdatei mit mehreren Trennzeichen in CSV

  6. 6

    So greifen Sie auf eine Variable in einer Singleton-Klasse zu, die von einem Modul in Play 2.5 Scala verwendet wird

  7. 7

    So aktualisieren oder aktualisieren Sie alle Fragmente vom Viewpager Android

  8. 8

    Wie implementiere ich die "equals" -Methode für Generika mit "instanceof"?

  9. 9

    Probleme beim numerischen Integrieren einer multivariablen Funktion WRT einer einzelnen Variablen in Julia (mit hcubature)

  10. 10

    Was ist die idiomatischste Rust-Methode, um ein optionales Element eines Vec bedingt zu ändern?

  11. 11

    Printf gibt Zeichen aus, die über die angegebene Länge des Arrays hinausgehen

  12. 12

    So installieren Sie ein privates NPM-Paket über SSH

  13. 13

    findOneAndUpdate mit Push-Array-Elementen gibt Fehler im Mungo

  14. 14

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  15. 15

    Verwendung eines Winkelmessers für Leistungstests

  16. 16

    Wie erstelle ich ein Objekt für ein Django-Modell mit vielen zu vielen Feldern?

  17. 17

    Beziehungen auf zusammengesetzten Schlüsseln mit sqlalchemy

  18. 18

    c # itextsharp absolute Textposition mehrzeilig

  19. 19

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  20. 20

    Sind die folgenden 3 Möglichkeiten, Objekte zu definieren, identisch?

  21. 21

    Wie konvertiere ich einen Vektor von Bytes (u8) in eine Zeichenfolge?

heißlabel

Archiv