Linux下輸出 excel文件
今日提供給產品需求,需excel文件,故總結要點如下:
1.默認間隔是space_20
2.修改為TAB \t _09
awk ' BEGIN { OFS="\t"} ;{ $1=$1 ; print $0} ' aa.txt>aa.xls
Ps :
1.查看工具 od -x -c ue
2.unix和win文本文件區別
Unix :每行結尾只有"<換行>", \n LF 10 ox0A ^J
Win: "<換行><回車>" \n\r LF/CR 13 ox0D ^M
結果:unix文件在win下變為一行,而win在unix下,每行結尾^M(偶的理解是unix控制字符集不包含回車)
ps:
od命令系統默認的顯示方式是八進制,這也是該命令的名稱由來(Octal Dump)。但這不是最有用的顯示方式,用ASCII碼和十六進制組合的方式能提供更有價值的信息輸出。
它們對於訪問或可視地檢查文件中不能直接顯示在終端上的字符很有用。
-c ASCII字符或反斜杠序列
-x 十六進制
###################################################################################
轉換工具 unix2dos/dos2unix
unix2dos/dos2unix好用, 問題是unix2dos這個工具在我們大多數linux服務器上根本沒有。
實現unix2dos的功能:
awk '{ print $0"\r" }' ur_file > ur_file.txt
實現dos2unix的功能:
dos2unix這個工具偶們的服務器上一般是有的, 但是萬一要是木有呢? 不能站着干着急, 把windows格式文本里的'\r'這個字符刪掉就OK,試試這個吧:
tr -d '\r' < dosfile.txt > unixfile.txt
或者strings dosfile.txt > unixfile.txt, 在這里,記得dos2unix只是把每行尾巴上的\r去掉, 而tr是把全文的\r去掉
PS: strings命令在一個目標或者二進制文件中查找可打印字符串,這使你可以讀嵌入到二進制文件中的文本字符串,該字符串對編程可能很有用。也可以理解為“只打印可顯示字符”, 這樣會把win格式文件每行的\r都去掉