您好,登錄后才能下訂單哦!
小編給大家分享一下shell中如何通過多個位置變量處理數據,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
cat dd.txt
courseId startTime endTime
107 1548471600 1548475200
337 1550455200 1550458800
337 1553306400 1553310000
如上所述,現在有一批數據,需要通過courseId、startTime、endTime三個維度(三個變量)唯一確定一條數據,然后以courseId分組進行數據統計。記得有位置變量可以實現,不過很遺憾的是忘記了,只能對而求其次,換了一種方法實現,如果有大神路過,還請指教
cat dd.sh
#!/bin/bash
username=account
passwd=mima
mysql -u$username -p$passwd -Bse "truncate table test.caidan"
while [ "1" = "1" ]
do
id=`cat dd.txt | head -1 | awk '{print $1}'`
start=`cat dd.txt | head -1 | awk '{print $2}'`
end=`cat dd.txt | head -1 | awk '{print $3}'`
num1=`mysql -u$username -p$passwd edusoho_e -Bse "SELECT COUNT(*) FROM course_member WHERE courseId=$id AND createdTime BETWEEN $start AND $end"`
mysql -u$username -p$passwd -Bse "insert into test.caidan select $id,$num1"
sed -i '1d' dd.txt
num=`cat dd.txt | wc -l`
if [ $num -eq 0 ];then
exit
fi
done
分組統計結果
SELECT id,SUM(num1) FROM `test`.`caidan` GROUP BY id ORDER BY NULL
以上是“shell中如何通過多個位置變量處理數據”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。