Ich möchte eine Zeichenfolge ersetzen (im Beispiel das Wort Linux) mit was auch immer zwischen den # ist in der ersten Zeile.Verwenden Sie Sed, um eine Zeichenfolge durch eine andere aus einer Regex erhalten Zeichenfolge ersetzen
Deshalb möchte ich mich wenden:
#Windows#
1. Linux Sysadmin, Linux Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Security (Firewall, Network, Online Security etc)
4. Storage in Linux
5. Productivity (Too many technologies to explore, not much time available)
in:
1. Windows Sysadmin, Windows Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Security (Firewall, Network, Online Security etc)
4. Storage in Windows
5. Productivity (Too many technologies to explore, not much time available)
oder
#Solaris#
1. Linux Sysadmin, Linux Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Security (Firewall, Network, Online Security etc)
4. Storage in Linux
5. Productivity (Too many technologies to explore, not much time available)
in:
1. Solaris Sysadmin, Solaris Scripting etc.
2. Databases - Oracle, mySQL etc.
3. Security (Firewall, Network, Online Security etc)
4. Storage in Solaris
5. Productivity (Too many technologies to explore, not much time available)
Nur mit sed. Ich habe so weit gekommen wie: sed ' /^ # [a-zA-Z] */{ h d } /Linux/G'
Ich denke, was ich tun muß, ist ist ein regulärer Ausdruck unter Verwendung des Haltepuffers als Ersatzmuster, das wie s/Linux/g
aussehen würde, aber ich kann keinen Weg finden, dies zu tun. Wer hat irgendwelche Ideen?
Warum der Schalter "-n"? – potong
Interessant, ich hatte gedacht, dass ohne den Schalter "-n" es am Anfang der Ausgabe einen zusätzlichen Zeilenumbruch gab, aber ich habe es gerade wieder getestet, die Ausgabe sah korrekt aus. Habe gerade meine Antwort bearbeitet, um sie zu entfernen. –