2016-07-09 5 views
0

ich ein Drehbuch gemacht,Kann ich Daten in die Datei ausgeben, die eine Datenquelle durch Umleitung ist?

cat $FILE | sed -e "s/^abc.*$/efg/" > $FILE 

jedoch Der Inhalt von $ FILE Ergebnisse in leer. Wenn der Code

cat $FILE | sed -e "s/^abc.*$/efg/" > another_file.txt 

die another_file.txt ist hält die richtigen Ergebnisse. Wenn jemand weiß, was falsch ist oder eine Lösung/einen Vorschlag hat, lassen Sie es mich wissen, .

Vielen Dank.

+2

Die einfache Antwort ist, dass * Sie nicht aus einer Datei lesen und gleichzeitig Ausgabe umleiten können. * Die lange Antwort ist zu viel Arbeit zu finden ... (Gefühl faul.) –

+0

Danke Jefre N. Einfache Antwort ist genug für mich. Ich benutze einfach another_file.txt und kopiere es auf $ FILE in der nächsten Zeile. – mora

+1

Ich glaube, dass Sie die 'lange Antwort' in den Kommentaren finden können [diesen Beitrag] (http://stackoverflow.com/a/6696881/6491853), falls Sie lernen wollen ** warum ** es nicht tut Arbeit. : D (Gut, die kurze Antwort war genug, aber;)) –

Antwort

1

Nein, das geht nicht. $ FILE wird vor dem Start der Pipeline erstellt

+0

P.S. wenn Sie auf Fancyness über Bord gehen wollen. Ich würde nicht, aber Sie können: txt = "$ (<$ FILE)" Sed-e "s/^ abc. * $/Efg /" <<<"$txt" > $ FILE –

Verwandte Themen