zeile hinzufügen shell script

F

fertchen

Grünschnabel
Hallo. Kennt irgendjemand eine kurze Anweisung für ein Shell Script, wie ich in eine Datei in die erste Zeile vordefinierten Text einfügen kann.Danke
 
Text eingeben

Danke für die Hilfe. Aber wo genau in dieser Zeile gebe ich den einzufügenden Text ein? Ich verstehs nicht ganz. Muss in den Klammern noch dazu eine Anweisung stehen?:(
Bspw. Will ich in die Datei 7.txt den Text "Hallo Welt"reinsetzen (das ist so ungefähr mein Niveau in der Shell programmierung:::

find /Users/ich/7.txt -type f -exec sed -i '1i\inserted text' {} \;
 
so, jetzt packen wir mal die Schulenglisch-Kentnisse aus der 5. Klasse aus, gehen meditativ in uns und überlegen dann, was wohl "inserted text" bedeuten könnte...
 
Wenn es nur um eine Datei geht, genügt auch ein
Code:
sed -i '1i\Hallo Welt' /Users/ich/7.txt
Du hättest auch einfach in dem anderen Thread fragen können, wenn du es nicht verstehst. Wir spekulieren mal, dass du ein GNU/Linux verwendest. Andernfalls könnte obiger Befehl nicht funktionieren.
 
trägt nicht ein

Hallo. Vielen Dank für die Hilfe. Auch, obwohl inserted text eingetragen werden müsste, trägt er diese zeile nicht ein. Als Antwort aus der Konsole nach Ausführung erhalte ich

sed: 1: "/Users/ich/spielwiese/ ...": extra characters at the end of n command
Ich versuche das auf Mac OSX zu bauen.
Wieso trägt er nichts in die *.txt Dateien ein?

#!/bin/sh
find /Users/ich/spielwiese/ -type f -exec sed -i '1i\HEADER' {} \;
 
Ich habe gerade kein MacOS X zur Hand und kann deshalb nicht sagen, ob das jetzt ein Typo von dir ist, oder das sed unter MacOS X anders funktioniert. Probiere mal
Code:
echo "Foo Bar" | sed "1i\Hallo Welt"
Wenn die Ausgabe dann
Code:
Hallo Welt
Foo Bar
lautet, scheint das sed unter MacOS X wahrscheinlich den i Parameter nicht zu unterstützen.
 
Mac OSX verwendet keine GNU-sed, der Schalter "-i" ist wirkungslos. Du musst damit den Umweg gehen und die Änderung erst in eine Temporäre Datei umleiten.

Code:
sed '1i\inserted text' file.txt > file.txt.tmp
mv file.txt.tmp > file.txt
 

Ähnliche Themen

systemd service mit Bash Script und Subshell in einer tmux Umgebung

chown Befehl in einem Script

Verzeichnis mit 1200 Dateien auf Verweise in Textdateien checken

Hilfe für ein shell script

Script pausieren bis Bedingung erfüllt ist

Zurück
Oben