Tente isso (ou seja, livre-se do aparentemente sem sentido while read in
):
cat /vjay/project/v_jay |
while IFS=, read aa bb cc dd ee ff gg ; do
/script/vjayscript.ksh "$aa" "$bb" "$cc" "$dd" "$ee" "$ff" "$gg"
done
Meu sistema gera um arquivo simples com 7 argumentos:
Field1,Field2,Field3,Field4,Field5,Field6,Field7
Field1,Field2,Field3,Field4,Field5,Field6,Field7
Field1,Field2,Field3,Field4,Field5,Field6,Field7
Field1,Field2,Field3,Field4,Field5,Field6,Field7
Field1,Field2,Field3,Field4,Field5,Field6,Field7
Cada um desses campos é um argumento para um script. Desejo executar o script de maneira iterativa (para cada linha do meu arquivo).
Isso é o que estou fazendo, mas pula a primeira linha do meu arquivo.
por exemplo,
nome do meu arquivo = v_jay
localização = / vjay / project
localização do script = /script/vjayscript.ksh
cat /vjay/project/v_jay | while read in; do
while IFS=, read aa bb cc dd ee ff gg ; do
/script/vjayscript.ksh $aa $bb $cc $dd $ee $$ff $gg;
done
done
Tags csv ksh scripting shell-script arguments