我有一個名爲p.txt的文件。 它包含以下值:從批處理文件中讀取一定長度的文件
201601
201602
201603
201604
201605
201606
201607
201608
201609
201610
我想在一批3.即閱讀本記錄 一個變量將有以下三個值
201601
201602
201603
在第一次迭代。在第二次迭代中它將具有接下來的三行
201604
201605
201606
如果數字沒有完全除以3,則迭代將被除數+1。
unix中怎麼可能?
我迄今爲止嘗試:
PERD=`cat P.txt`
for perd in `cat PERD_ID.txt`;
do
bteq << EOF
.logon ${conn_string};
/* Database*/
DATABASE $ET;
/* Update NULL LOCL_SEGMNT3_IDNs*/
INSERT INTO T
SELECT *
FROM A
WHERE PERIOD IN ($PERD);
.if errorcode != 0 then .exit 5.1;
.LOGOFF
.EXIT
EOF
done
當前代碼讀取每一行和DB執行插入。爲了獲得更好的性能,我希望將這些查詢用於3個時期。
/* Update NULL LOCL_SEGMNT3_IDNs*/
INSERT INTO T
SELECT *
FROM A
WHERE PERIOD IN (201601,201602,201603);
它工作的很好,但它完全可以被3整除。但如果它不是它給我(201601 ,,)這是失敗的。 –
您想要按3組進行處理。如果最後一組中只有2個或1個項目,則按您想要的方式進行處理。您可以使用例如「如果」聲明。 – quantummind