Wie kann man ' unter bash entfernen?

... komplette Frage anzeigen

3 Antworten

Hallo

Wie kann man ' unter bash entfernen?

Diese Frage ist unverständlich :-(

ich kenne die Befehle, um einzelne Zeichen in Dateien unter bash zu löschen

Zeig mal wie Du alle 'f' in der Datei test.txt löschen kannst

# test.txt
Darf man ungestraft alle Buchstaben 'f' in dieser Datei löschen"

Gibt es eine andere Möglichkeit das ' aus der Datei per Befehl zu löschen?

Zeichen welche eine besondere Bedeutung haben können durch das so genannte "escapen" von ihrem Sonderstatus befreit werden, aber es geht auch anders:

echo "Hallo geht's noch oder was'n los?" | tr -d "'"

Linuxhase

-------------------------------------------------------------------------------------------------

echo "Darf man ungestraft alle Buchstaben 'f' in dieser Datei löschen?" | tr -d "f"
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Quattrofun
16.10.2016, 12:45

Bis jetzt hatte ich zum Löschen von Zeichen immer das hier benutzt:

sed -i s/'l'// test.txt

Wenn man also in der Datei text.txt einfach nur "Hallo" stehen hat, wird danach nurnoch "Hao" ausgegeben.

Dies hatte ich jetzt noch mit dem ' versucht, das hatte aber nicht geklappt.

Wenn ich jetzt aber (wie du beschrieben hattest) das hier eingebe:


sed -i s/"'"// test.txt


funktioniert es und es werden alle ' aus der Datei gelöscht.
Danke! :D

0

was soll "unter bash" bedeuten? In einem Linux-System vorhanden Dateien haben mit keiner Shell, auch, nicht mit der bash, etwas zu tun.

Leider nennst du nicht (die) den Befehl, der Zeichen in Dateien entfernt, geheim.
Wahrscheinlich werden in diesem Befehl einige Zeichen als interne Kommandos benutzt, die dann zu dem von dir beschriebenen Effekt führen.

Was bewirkt die übliche "Demaskierung" des Zeichens ' ? Hast du probiert, dem ' ein \\ voranzustellen?

Viele Programme benutzen das, um die (interne) Sonderbedeutung aufzuheben.
So hebt "Leer\\ zeichen" das Leerzeichen auf und macht daraus die Zeichenkette "Leerzeichen".
Ähnlich sollte das dann auch mit dem ' sein. Das ist kein \\'Befehl\\' sondern die Zeichenkette  "'Befehl'".

Antwort bewerten Vielen Dank für Deine Bewertung

Schreibe doch einfach mal, was genau du machen möchtest, so ist es doch nur ein Ratespiel was du mit deinem Shellscript meinst.

Ich habe viele Shellscripts für viele Zwecke auf Lager.  

Außerdem empfehle ich das Buch "Bash Programmierung - Einstieg und professioneller Einsatz von Christia Graiger".  Dort könntest du alles in Ruhe nachlesen.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?