Schreiben Sie eine Unix-shell script, das wird Bearbeiten Sie eine bestimmte Zeile ein .in der Datei

Ich möchte ein Programm ausführen, mehrmals mit leicht unterschiedlichen Eingänge. Die Eingabedatei ist eine lange .in der Datei, und ich würde nur wollen, Bearbeiten Sie eine einzelne Zahl in eine bestimmte Zeile der Datei. Also im Idealfall würde ich mag zu schreiben, ein Unix-Skript, das wiederholt sich dieser Vorgang mehrmals:


  1. Bearbeitet eine Zeile in einer .in der Datei
  2. Wird ein Programm verwendet, die Datei als Eingabe
  3. Benennt die Ausgabe .nc-Datei aus dem Programm auf und speichert es

Ich bin komplett neu in dieser Art von scripting, und während ich bin mir ziemlich sicher, kann ich herausfinden, wie sich die Schritte 2 und 3 dieser Prozess, ich bin mir nicht sicher, wie der zweite Schritt. Ist es möglich, verwenden Sie ein Skript zur Automatisierung der Bearbeitung von ein .in der Datei, und wie soll ich das tun?

versuchen Sie es mit der sed - Befehl, um eine inline-Bearbeitung
@JoeC, sagte sed wäre Ihre beste Wette mit einem regulären Ausdruck übereinstimmt Linie. Gibt es andere ähnliche Zeilen in der Datei?
Wenn Sie sicher sind, dass die Nummer der Zeile, wird immer die gleiche sein, die Sie verwenden können, die head und tail Befehle zum aufteilen der Datei in die Hälfte und dann verketten Sie zurück zusammen mit cat bestehen des ersten Teils, neue Zeile, und dann die zweite Hälfte.
Wenn Sie sicher sind, die Zahl wird immer die gleiche sein, die Sie noch verwenden sollten sed.

InformationsquelleAutor Sophie | 2013-11-24

Schreibe einen Kommentar