Shell-Script

將 ksh 中的分隔符解析為命令參數

  • March 7, 2016

我的系統生成一個包含 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/

腳本的項目位置 = /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

試試這個(即擺脫看似毫無意義的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

引用自:https://unix.stackexchange.com/questions/263763