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

String teilen, Zeichen extrahieren und wieder zusammensetzen?

Ich habe Strings in Form von wva/sia/e1 , bct/e2 , sv/de/e11 . Es ist immer <Part1>/e<NUM> oder <Part1>/<Part2>/e<NUM> . Was ich möchte, ist, die Saiten zu verkürzen, indem ich die Anfangsbuchstaben der Teile behalte und die Schrägstriche und e:

weglasse
wva/sia/e1 > ws1
bct/e2 > b2
sv/de/e11 > sd11

Wie kann ich das in einem sh-Skript machen?

Bearbeiten:Die Zeichenfolge stellt einen Jobnamen dar:

[...]
job_name=$1 # e.g. 'wva/sia/e1'
job_name=cut_name(job_name) # e.g. 'ws1'
[...]

Akzeptierte Antwort:

In Form eines Skripts als das, wonach Sie fragen:

#!/usr/bin/env python3
import sys

# read the input, split by /
st = sys.argv[1].split("/")
# get the first char of all sections *but* the last one
# add the last *from* the first character
print("".join([s[0] for s in st][:-1])+st[-1][1:])

Beachten Sie, dass dies für jede Länge funktioniert, z. B.:

wva/sia/bct/wva/sia/e1

wird

wsbws1

solange der letzte Abschnitt mit /e<num> endet

Zu verwenden

  1. Kopieren Sie das Skript in eine leere Datei und speichern Sie es als rearrange.py
  2. Führen Sie es mit dem String als Argument aus, z. B.:

    python3 /path/to/rearrange.py wva/sia/e1
    
    > ws1
    

Erklärung

Das Script erklärt sich ziemlich von selbst, ist aber auch kommentiert.


Ubuntu
  1. Ubuntu – Wie konfiguriere ich Berechtigungen, um Gedit, Apache und eine Ide zusammen spielen zu lassen?

  2. Bringen Sie die "Backspace"-Tastaturkürzel auf Nautilus und Thunar zurück?

  3. Ubuntu 19.04 + Gnome 3.32 =Wie bekomme ich dynamische Transparenz zum Dock und zurück zur oberen Leiste?

  4. So sichern und wiederherstellen Sie WordPress-Installationen in Plesk

  5. Wie kann ich rückwärts und vorwärts suchen?

So sichern und wiederherstellen Sie Websites in Plesk

So sichern und wiederherstellen Sie Datenbanken in Plesk

So verwenden Sie den SED-Befehl zum Suchen und Ersetzen von Zeichenfolgen in Dateien

So konvertieren Sie PDF in PNG-Bilder und zurück unter Linux

Konstruieren Sie einen Befehl, indem Sie eine Zeichenfolge in ein Tty einfügen?

So verwenden Sie Sed zum Suchen und Ersetzen einer Zeichenfolge in einer Datei