将 ksh 中的分隔符解析为命令参数

将 ksh 中的分隔符解析为命令参数

我的系统生成一个包含 7 个参数的平面文件:

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

这些字段中的每一个都是脚本的参数。我希望迭代运行脚本(对于文件的每一行)。

这就是我正在做的事情,但它跳过了我文件的第一行。

例如

我的文件名 = v_jay
位置 = /vjay/project
脚本位置 = /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

答案1

试试这个(即摆脱看似毫无意义的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

相关内容