2016-10-11 2 views
0

Ich führe ein Skript run.sh. Das Skript wird wie folgt ausgeführt. $./run.sh read.csv Der Inhalt des Skripts ist wie folgt.Lesen von CSV-Datei in Shell-Scripting

tail -n +2 $1 | while IFS="," read -r A B C D E F; 
    do 
     python test.py ${A} ${B} ${C} ${D} ${E} ${F} 
    done 

Meine Frage ist: „Wenn ich zusammen mit read.csv vom Terminal wie diese in zusätzliche Befehlszeilenargumente übergeben müssen (für Ex: $./run.sh name sex DOB read.csv). Wie kann ich den Code ändern, so dass es gut funktioniert

Denn wenn ich irgendwelche anderen Befehlszeilenargumente übergeben zusammen mit dem Dateinamen (read.csv) i Zugriffsfehler in der Datei immer am read.csv

+1

Warum gerade Python nicht verwenden csv zu analysieren – anubhava

Antwort

1

Positionsparameter ist, was Sie sind. So können Sie tun Sie es:

Sie könnten diese Werte wie Name in $ 1, Sex in $2, DOB mit $ 3 zugreifen und read.csv in $ 4