看板 Linux 關於我們 聯絡資訊
我有幾行數列如下 0 1511.9409 7306.7246 143 3.6 0 10 0 1511.9423 7306.7229 122 3.8 0 10 0 1511.94 7306.7252 150 3.5 0 10 << 這一行移位了 0 1511.9475 7306.7889 150 4.8 0 10 我的檔案數值 圖如下 http://imgur.com/a/rSGYD 我的問題是 我想要將每一欄的可以對齊,也就是每串數字的開頭可以跟下一行的數字 對齊,awk print 似乎可以解決我的問題? 不過試了一陣子還是無法解決。 想問一下板上的大大 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.20.176 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1486623729.A.EE1.html
a1u1usul3: 不用空格改用\t呢 02/09 16:27
holishing: 推Tab (\t) 02/09 17:03
hijkxyzuw: printf 可以用 "%7d" 指定印出來是七格的長度。 02/09 17:05
hijkxyzuw: man 3 printf 看 Flag characters 章節, awk 中也有 02/09 17:06
hijkxyzuw: printf 函數。 02/09 17:06
yvb: 應該是 "%-9d" 才對齊開頭, "%9d" 就對齊尾端了. 02/09 20:35
kkbox317: 謝謝大大們的幫忙,後來改用%-9d的形式,謝謝!!! 02/10 10:10
hijkxyzuw: 如果想對齊小數點,可以先用 %.3d 統一指定精度 3 位。 02/10 16:15
yvb: %.3d => 整數補齊三位數, 小數點以後就不見了. 3.6 => 003 02/10 18:46