2009-04-18 4 views
0

Duplikat von prepend to a file one liner shell?.Können Daten in der ersten Zeile im Terminal ohne einen Editor nicht gespeichert werden?

Ich versuche, meine Paste auf den ersten Spiel zu setzen, ohne

einen Editor, ähnlich wie aber für die umgekehrte Richtung zu öffnen
echo Masi >> file 

Wie kann man Daten in der ersten Zeile im Terminal setzen, ohne einen Editor zu öffnen?

Zum Beispiel

Ich habe eine Datei

M 
M 
M 

Ich mag Masi meine Datei setzen, so dass

Masi 
M 
M 
M 

ohne einen Editor in Terminal zu öffnen.

+0

Auf welches System? Verwenden von Unix-Standardwerkzeugen? – Anthony

+0

Antony: Verwenden von Standard-Unix-Tools. Ich benutze Mac und Ubuntu. –

+0

Entschuldigung, ich kann die Frage nicht verstehen. Kannst du es bitte erweitern? – Alnitak

Antwort

1

es mit ed tun:

#!/bin/sh 
/bin/ed $1 <<__EOT__ 
1i 
Masi 
. 
wq 
__EOT__ 

Technisch ist diese ist einen Editor Anheizen, aber Es ist nicht interaktiv und kann daher Ihren Kriterien entsprechen.

1

Sie könnten versuchen:

mv file temp_file 
echo "Masi" > file 
cat temp_file >> file 
rm temp_file 

ein Skript schreiben, wenn Sie es viel ...


zu tun haben, oder ich glaube, Sie könnte es tun mit ed. Sie werden für sich selbst entscheiden, wenn Sie denken, dass zählt als „einen Editor öffnen“ ...