❶ linux下怎麼用shell修改csv格式
|#cat test.csv |awk -F, '{print $1,$2,"hello world",$3}'|sed 's/ /,/g'
1,男,hello,world,甲
2,女版,hello,world,丁權
3,男,hello,world,乙
❷ 用shell語言能計算csv文件中某一列數據的平均值嗎如何實現
假設拿來第3列數據自計算,csv中列與列之間一般為TAB分隔,下面這樣就可以:
awk -v col=3 '{if($col != "") {sum+=$col; count++}} END{print "avg="sum/count}' myfile.csv
❸ linux 下如何使用shell 把處理好的csv文件導入到資料庫下
linux 下,可以使用cli程序把csv文件導入到資料庫。具體代碼如下:
$ORACLE_HOME/bin/sqlplus-Susername/password@instanceName>/dev/null2>&1<<!!
#對sqlplus作一些設置,使之只輸出我們需要的文本
setechooff
setpagesize0
setverifyoff
setfeedbackoff
settermoutoff
setlinesize3000
settrimspoolon
#查詢輸出到臨時文件
spool/tmp/some_tmp.csv
#select語句
selectcolumn1||','||column2||','||column3....
fromsome_tablewherecondition
spooloff
#這里可以添加多個查詢,且每個查詢可輸出到不同的文件,如下面注釋
#spool/tmp/some_tmp.csv
#selectcolumn1||','||column2||','||column3....
#fromsome_tablewherecondition
#spooloff
setmarkupHTMLoff
quit
!!
#計算記錄總行數,如果是0則不發郵件
NUM=`cat/tmp/some_tmp.csv|wc-l`
if[$NUM-gt0]
then
#先寫excel的每列的title
echo'Title_Of_Column1,Title_Of_Column2,....Title_Of_ColumnN'>/tmp/attachement.csv
#數據正文
cat/tmp/some_tmp.csv>>/tmp/attachement.csv
#發郵件
(
echo"From:[email protected]"
echo"To:[email protected]"
echo"MIME-Version:1.0"
echo"Content-Type:multipart/mixed;"
echo'boundary="A_Boundary_Name_You_Can_Change_It"'
echo"Subject:Subject"
echo""
echo""
#附件分隔符,上面的boundary前面加--
echo"--A_Boundary_Name_You_Can_Change_It"
echo'Content-Transfer-Encoding:x-uuencode'
echo'Content-Type:text/csv;'
echo'name="attachement.csv"'
echo'Content-Disposition:attachment;'
echo'filename="attachement.csv"'
echo""
uuencode/tmp/attachement.csvattachement.csv
echo"--A_Boundary_Name_You_Can_Change_It"
#附件結束
)|mailx-t
fi
#刪除臨時文件
rm-f/tmp/*.csv
exit0
❹ shell中讀取csv文件作為參數
catcsv|cut-d,-f1-3|xargsecho-e$1$2$3
❺ shell命令將csv文檔里指定列的項目值復制到一個新的newtext.csv文檔中
#假如有3個文件(no1/test.csv、no2/test.csv、no3/test.csv),如果文件更多,直接按下面格式操作,以下步驟在版data目錄下執行:
#下面我提權供2種方法:
#方法1:
awk-F,'{print$1","$4","$7}'no1/test.csvno2/test.csvno3/test.csv>newtext.csv
#方法2:
catno1/test.csvno2/test.csvno3/test.csv|cut-d,-f1,4,7>newtext.csv
希望可以幫助到你,你的好評是我前進的動力!