2 Stimmen

Bashscript entfernen Zeichenfolgen in Datei

Ich möchte aus einer Eingabedatei jedes Wort ".xx" entfernen, das auf jeder Zeile erscheint. Wie kann das gemacht werden? Eingabe

hello.xx
my.xx

Ausgabe

hello
my

4voto

Prince John Wesley Punkte 60530

Verwenden Sie sed:

sed -i.old 's/\.xx$//' datei

2voto

possod Punkte 31

Wie der Titel schon sagt, ist es mit einem Shell-Skript durchaus machbar:

test.sh

#/bin/sh
while read line; do
    echo ${line%.xx}
done < input.txt

Eingabedatei

$ cat input.txt
hello.xx
my.xx

Testdurchführung

$ ./test.sh
hello
my

1voto

TheCottonSilk Punkte 8322

Verwenden Sie das folgende Muster:

Wenn überall .xx entfernt wird

s/\.xx//g

Wenn .xx nur am Ende entfernt wird

s/\.xx$//g

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X