將 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

相關內容