Wie ersetzt man ein Zeichen aus einer Zeichenfolge in UNIX?

Wie ersetzt man ein Zeichen aus einer Zeichenfolge in UNIX?

Ich habe zwei Saiten wie diese ...

a=[2018:08:22-15:26:18:26182619]
b=[2018:08:22-15:26:18:26182619]

Und ich möchte konvertieren
a= 20180911183706376476
b= 2018082215261826182619

Kann mir bitte jemand helfen?

Antwort1

Von dem "test, [ - Dienstprogramm zur Bedingungsauswertung" manpage (erreichbar über den BefehlMann [oderManntest), die Option „-ne“ wird zum Vergleichen von Ganzzahlen verwendet. Verwenden Sie den Operator „=“ für Zeichenfolgen.

n1 -eq n2 Wahr, wenn die ganzen Zahlen n1 und n2 algebraisch gleich sind.

s1 = s2 Wahr, wenn die Zeichenfolgen s1 und s2 identisch sind.

Es ist wahrscheinlich keine schlechte Idee, die Zeichenfolgen ebenfalls in Anführungszeichen zu setzen. Stellen Sie sicher, dass Sie doppelte (oderweich) Anführungszeichen mit Variablen.

if [ "$a" = "$b" ]
  then
    #do something
fi

verwandte Informationen