2016-09-08 2 views
0

Ich habe die folgende Zeile in cmdlineNummern mit sed in Linux einfügen?

sed -e '1s/^/\\documentstyle\[11pt\]\{article\}\n/' -e 's/[0-9]//g' test.txt 

ist meine gewünschte Ausgabe etwas wie diese diese

ich

\documentstyle[11pt]{article} 
rest of the file 

jedoch nur

\documentstyle[pt]{article} 
rest of the file 

ich nicht scheinen, zu finden Möglichkeit, Zahlen einzufügen. Ich habe Backslashing versucht. Lösung könnte einfach sein, aber ich bin ein Neuling mit sed.

+2

Ihr zweiter Ersatzbefehl löscht die Nummern, die Sie in der ersten hinzugefügt haben. Also, was soll die zweite Operation ('s/[0-9] // g') tun? –

+0

Oh wow, ich habe versucht, beide Aufgaben in der gleichen Zeile zu tun und komplett vergessen. Dummer Fehler. Danke für Ihre Hilfe! – ricknaght

Antwort

1

Beachten Sie, dass sed has more commands als nur s///. Um eine Linie an der Spitze einer Datei einfügen:

sed -e '1i\ 
\\\documentstyle[11pt]{article}' -e 's/[0-9]//g' file 

(frustrierender, die Anzahl der Schrägstriche einen umgekehrten Schrägstrich in der Ausgabe zu erreichen, wurde durch Versuch und Irrtum gefunden)

Der Bonus ist, dass hat keinen Einfluss Ihr Ziel, Zahlen zu entfernen.

0

Mein zweiter Befehl war das Entfernen von Zahlen, funktionierte tatsächlich wie beabsichtigt, aber ich wollte nur alles gleichzeitig tun. Dank an Jonathan Leffler.

Verwandte Themen