2017-11-28 1 views
0

Hallo ich dieses Skript analysis.shWie verwendet man eine CSV-Datei für mehrere Dateieingaben im Befehlszeilenargument von Bash Script? im CSV-Format geben, anstatt, einzelne Dateien

#!/bin/bash 

SAMPLENAME=$1; 
SAVEDATA=$2; 
DATAPATH=$3; 
REFERENCE=$4 

...... 

Ich möchte Eingabe mehrerer Dateien mit dem Namen bin mit Details jedes Mal, als um mehrere Dateien können durch einzelne Skript analysiert werden.

z.B. Ich habe zwei Dateien ABC und XYZ

so, um diese beiden Dateien, die ich diese Befehle zu analysieren

Für ABC

analysis.sh ABC /home/myfolder1 /home/datafolder1 /home/referncefolder1 

und für XYZ

analysis.sh XYZ /home/myfolder2 /home/datafolder2 /home/referncefolder2 

wenn ich 100 haben verschiedene Dateien, wie kann man eine einzelne CSV-Datei mit Details dieser 100 Dateien verwenden, die über die Befehlszeilenargumente dieses Bash-Skripts analysiert werden können?

Antwort

0

Sie können den Namen der CSV-Datei als ein einziges Argument übergeben und das Skript gelesen haben es Zeile für Zeile:

csv=$1 
while IFS=, read -r filename savedata datapath reference; do 
    # do the processing 
done < "$csv" 

diesen Beitrag sehen, um mehr über zu verstehen, wie eine Textdatei lesen in Bash:

können Sie wollen mehr über die Shell-Variable Namenskonvention lesen:

Verwandte Themen