
Ich muss die Eingabe aus einer Datei im folgenden Format lesen.
$ ./process_data.sh arg1 < input_data.txt
Wie lese ich input_data
mein 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`