GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie konvertiert man bestimmten Text aus einer Liste in Großbuchstaben?

Sie übertreiben es, nutzen Sie Ihre Dateistruktur, um es einfach zu halten!

Wenn wir die Zeichenfolge [United finden Wenn Sie in einer Zeile alles von der schließenden Klammer bis zum Ende der Zeile in Großbuchstaben schreiben, erhalten Sie das gewünschte Ergebnis. Übersetzen in die Sed-Sprache,

sed '/\[United/s/].*/\U&/' file

Beachten Sie, dass das Obige spezifisch für GNU Sed ist. Falls nicht verfügbar, aber in einem POSIX-System, können Sie Ex (oder die Awk-Version von αғsнιη) mit einer ähnlichen Syntax verwenden:

printf '%s\n' 'g/\[United/s/].*/\U&/' '%p' | ex file

Um die Änderungen in der Datei zu speichern, anstatt die Ergebnisse zu drucken, ändern Sie %p bis x .


Mit awk :

awk -F"[][]" '$2 ~/^United/ { $2="["$2"]"; $3=toupper($3); }1' OFS='' infile

innerhalb von [...] wir haben beide ] definiert und [ als Feldtrenner und dann Prüfung gegen das zweite Feld, wenn dieses mit United beginnt Text, wenn ja, dann fügen Sie [] zurück ungefähr im zweiten Feld (ich nehme an, es gibt keine andere Spalte, die diese Zeichen neigt, sonst werden diese Felder dies übersehen); dann konvertieren wir die dritte Spalte in ihren Großbuchstabenwert; die Redewendung 1 ist Auslöser awk default print (eine Art immer wahre Bedingung).


Linux
  1. Wie kann man unter Linux Binärdateien von Textdateien unterscheiden?

  2. Wie entferne ich Zeilenumbrüche aus einer Textdatei?

  3. Wie teilt man eine Textdatei in mehrere *.txt-Dateien auf?

  4. Wie konvertiere ich ein Linux-Festplatten-Image in eine Sparse-Datei?

  5. Wie wähle ich den gesamten Text aus einer Datei mit Nano aus?

So zeigen Sie Daten aus einer Textdatei in Linux an

Bash-Scripting:So lesen Sie Daten aus Textdateien

So extrahieren Sie E-Mail-Adressen aus einer Textdatei unter Linux

So finden Sie Dateien, die eine bestimmte Textzeichenfolge in Linux enthalten

So entfernen Sie alle Leerzeichen aus einer Textdatei

Wie Echo in Datei