Shell-Skript zum Lesen von Eingaben aus einer Datei

Shell-Skript zum Lesen von Eingaben aus einer Datei

Ich muss die Eingabe aus einer Datei im folgenden Format lesen.

$ ./process_data.sh arg1 < input_data.txt

Wie lese ich input_datamein Shell-Skript ein process_data.sh?

Antwort1

Bei einer solchen Verwendung gibt es mehrere Möglichkeiten, es zu lesen: while-Konstruktion (gibt Argumente und jeden String der Datei input_data.txt aus)

#!/bin/bash
echo $1
while read STRING
do
    echo $STRING
done

awk (gibt Argumente und die zweite und dritte Spalte der Dateieingabedaten aus)

#!/bin/bash
echo $1
awk '{print $2" "$3}'

und so weiter. Sie können sed, cut und viele andere Unix-Dienstprogramme wie in den Beispielen verwenden. Die Wahl des Dienstprogramms hängt davon ab, wie Sie die Eingabedaten transformieren müssen. Natürlich können Sie die Beispiele beliebig ändern.

Viel Glück =)

Antwort2

In Ihre process_data.sh können Sie den folgenden Code schreiben

while read line
do
   #work on data
done < `cat input_data.txt`

verwandte Informationen