linux中通過awk進行文字的對齊格式化處理?awk printf左對齊?
阿新 • • 發佈:2021-08-20
轉載自:https://www.cnblogs.com/chuanzhang053/p/9298409.html
需求描述:
今天在對一個從excel檔案中粘出來的內容進行整理的時候,發現格式很亂,就想用awk工具格式化一下,在此記錄一下.
操作過程:
1.從excel中複製出來的內容
job_name job_group
syncCommStockJob dataSync
syncStoreChnlJob dataSync
syncOrderJob dataSync
syncReportStoreJob dataSync
hdfsScanJob report
orderSaleDailyJob report
jdzmdOrdersJob report
jdCanJob report
備註:就想要第一列是對齊的,同時第二列也是對齊的.
2.使用awk進行格式化(首先將上面的內容貼上到linux一個檔案中)
[root@testvm ~]# cat abc.txt | awk '{printf "%-30s%-15s\n",$1,$2}' #%-30s表示輸出字串,寬度30位,左對齊.%-15s用來指定第二列的,左對齊,寬度15.兩個百分號之間可以沒有空格.使用\n對每一行的輸出加上換行符 job_name job_group syncCommStockJob dataSync syncStoreChnlJob dataSync syncOrderJob dataSync syncReportStoreJob dataSync hdfsScanJob report orderSaleDailyJob report jdzmdOrdersJob report jdCanJob report
備註:使用printf進行輸出第一列和第二列.然後使用%s表示輸出字串,並且通過負號(-),數字表示的是左對齊輸出.這樣就達到了對格式進行整理.