下面這段**是逐行讀取乙個檔案,這個檔案中每行是乙個id,這段**,每次讀取1000行即1000個id,然後拼接成乙個sql,類似於如下格式的sql:
select * from table where id in (1,2,3,4,....................................1000);
#!/bin/bash
path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export path
declare -i index=0
lemmaidstr="("
cat absandbasiclemmaids.o | while read line
doif [ $(expr $index % 1000) = 999 ]; then
echo $lemmaidstr$line")" >> lemmaid.log
mysql -h10.10.10.10 -p3306 -uroot -ppassword -n -e "select lemmaid,contentid from bk.lemma where lemmaid in "$lemmaidstr$line")" >> /data/denglinjie/shell/lemmaidandcontentid.o
lemmaidstr="("
else
lemmaidstr="$lemmaidstr$line,"
filet "index=$index+1"
done
Shell指令碼逐行讀取檔案
方法1 while迴圈中執行效率最高,最常用的方法。while read line doecho line done filename 注釋 這種方式在結束的時候需要執行檔案,就好像是執行完的時候再把檔案讀進去一樣。方法2 管道法 cat filename while read line cat f...
如何用Shell逐行讀取檔案
在學習linux shell scripts時,乙個最常見的錯誤就是用for for line in cat file.txt do 迴圈逐行讀取檔案。下面的例子可以看出這樣做的結果。檔案file.txt內容 cat file.txt this is the row no 1 this is the...
shell 逐行讀取檔案的內容
說明 shell 逐行讀取文字檔案內容。示例 讀取 etc passwd 檔案內容。1 python view plain copy bin bash ifs n 0 forline in cat etc passwd do n expr n 1 echo e n t line done 2 pyt...