In einer Textdatei möchte ich ,(Kommas) und auch "(Anführungszeichen) entfernen ( nur wenn die doppelten Anführungszeichen durch Kommas getrennte Zahlen enthalten). 56,72,"12,34,54",x,y,"foo,a,b,bar" Erwartete Ausgabe 56,72,123454,x,y,"foo,a,b,bar" Hinweis: Ich zeige die obige Zeile nur als Beispiel. Meine Textdatei enthält viele Zeilen wie oben und die durch Kommas getrennten Zahlen in doppelten Anführungszeichen …
Ich habe eine Reihe von Dateien und möchte herausfinden, welche sequentielle Zeilen enthält, die mit einer bestimmten Zeichenfolge beginnen. Zum Beispiel für die folgende Datei: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee Es gibt mehr als eine Zeile, die mit 'C' beginnt, daher möchte ich, …
Ich benutze sed. Ich habe einen regulären Ausdruck verwendet, der, soweit ich sehen konnte, korrekt war, aber sed hat nichts getan. Es stellt sich heraus, dass ich verwendet habe, \s+was sed nicht verstehen kann, und als ich darauf umstieg, hat [ ]+es funktioniert. Zusammenfassend habe ich einen regulären Ausdruck erstellt, …
Wie kann man mit einem regulären Ausdruck mehrere Zeilen aus einer Datei entfernen? Ich möchte oft mehrere Zeilen erhalten / mehrere Zeilen durch einen regulären Ausdruck ändern. Ein Beispielfall: Ich versuche, einen Teil einer XML / SGML-Datei zu lesen (sie sind nicht unbedingt gut geformt oder haben eine vorhersehbare Syntax, …
Ich habe eine Datei wie folgt: mime PI Name: ISHO SUCCESS RATE RT, Value: 95.663826 scr PI Name: RRC Access Failures due to UU, Value: 0.13394141 prog PI Name: RRC Access Failures due to UU, Value: 0.16077702 sch PI Name: RRC Access Failures due to UU, Value: 0.11781933 Ich möchte …
Ich habe das: sed -i '/^$/d' temp_spec.rb Das entfernt leere Zeilen und funktioniert gut. Wie kann ich dies nur für die Zeilen 5-999 (oder idealerweise 5 bis zum Dateiende) tun? Ich habe es versucht: sed -n5,999 -i '/^$/d' temp_spec.rb sed '5,999!d/^$/d' temp_spec.rb aber keiner hat funktioniert (keine Fehler).
Ich habe also eine Zeichenfolge, die so aussieht: AUGGCCAUGGCGCCCAGAACUGAGAUCAAUAGUACCCGUAUUAACGGGUGA Und ich möchte die Zeichenfolge in 3-stellige Abschnitte aufteilen, die durch ein '+' - Zeichen getrennt sind. AUG+GCC+AUG+GCG+CCC+AGA+ACU+GAG+AUC+AAU+AGU+ACC+CGU+AUU+AAC+GGG+UGA Und das möchte ich mit meinem guten Freund machen sed. Ich habe es versucht cat codons | sed -r 's/([A-Z]\{3\})/\1\+/g' ... ohne Erfolg. …
Ich möchte ein Here-Doc für sed-Befehle verwenden und die zu lesende Datei und die Ausgabedatei bereitstellen. Ich habe mir Here-Documents aus dem Advanced Bash Scripting-Handbuch angesehen, aber es wird nichts über reguläre Argumente bei der Verwendung eines Here-Docs erwähnt. Ist es überhaupt möglich? Ich möchte Folgendes erreichen: #!/bin/bash OUT=/tmp/outfile.txt IN=/my_in_file.txt …
Gibt es eine Möglichkeit, seddas Muster bei jedem zweiten Auftreten zu ersetzen? Oder zumindest in jeder zweiten Zeile? (Sicher ist es mit einem Skript möglich, aber ich habe mich gefragt, ob sedich es schaffen kann). Bearbeiten ich fand sed -e "s/pattern/replacement/g;n" Aber es ersetzte jedes erste Vorkommen, nicht das zweite. …
Ich möchte Protokolldateien, die älter als 5 Tage sind, aus einem Verzeichnis löschen. Das Löschen sollte jedoch nicht auf dem Zeitstempel der Datei basieren. Es sollte auf dem Namen der Datei basieren. Für das Beispiel heutigen Datum 07.05.2012 ist und das Verzeichnis enthält 10 Dateien von Namen wie ABC_20120430.log, ABC_20120429.log, …
Ich habe eine sehr lange Reihe von URLs ohne Trennzeichen im gleichen Format wie unten: http://example.comhttp://example.nethttp://example.orghttp://etc... Ich möchte, dass jede URL in einer neuen Zeile steht. Ich habe versucht, dies zu tun, indem ich alle Instanzen von "http: //" durch "\ nhttp: //" mit sed ersetzt habe sed 's_http://_\nhttp://_g' urls.txt …
Angenommen, ich habe diese 857835-Zeilendatei, die Folgendes enthält: a1 rubbish1 rubbish2 rubbish3 rubbish4 a1 rubbish5 rubbish6 rubbish7 rubbish8 Und ich möchte alle Vorkommen von a1und der nächsten Zeile ( rubbish1und rubbish5in diesem Beispiel) entfernen . Wie mache ich es? Ich habe erfolglos versucht grep 'a1' -v -A1, und meine Fähigkeiten …
Ich habe also eine Reihe von Dateien in einem Verzeichnis und muss in jede eine Textzeile einfügen. Sie haben im Wesentlichen das folgende Format: <VirtualHost *:80> ServerAdmin gabe@localhost DocumentRoot /var/www/test1 ServerName test1.local ServerAlias test1 <Directory "/var/www/test1"> Options All AllowOverride All </Directory> </VirtualHost> Und ich möchte vor dem Schließen eine Zeile …
Wie lösche ich Zeilen, die mit a beginnen #, da links und rechts von Leerzeichen Leerzeichen stehen können #? # Master socket provides access to userdb information. It's typically
Ich habe eine Zeichenfolge wie rev00000010und ich möchte nur die letzte Zahl, in diesem Fall 10. Ich habe das versucht: TEST='rev00000010' echo "$TEST" | sed '/^[[:alpha:]][0]*/d' echo "$TEST" | sed '/^rev[0]*/d' beide geben nichts zurück, obwohl der Regex korrekt zu sein scheint (versucht mit Regexr )
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.