[英]Formatting file with awk
好吧所以這里是這個下一個文件的問題,所以我試圖弄清楚如何格式化我創建的文件,其中包含我需要的所有信息,但我需要更改輸出看起來如此
貓文件
Jackson D. Bob 0001 book pizza apple 4.00 123as Filer J. Jake 0002 happy apple hat 4.00 124ab Metro K. Jim 0003 kindle pizza grape 4.00 125ac
好吧那就像文件中的什么,然后我需要將輸出格式化為這樣的東西
# name LS item1 item2 item3 point ad
- -------------- ---- ------ -------- ------ ----- -----
1 Jackson D. Bob 0001 book pizza apple 4.00 123as
2 Filer J. Jake 0002 happy apple hat 4.00 124ab
3 Metro K. Jim 0003 kindle pizza grape 4.00 125ac
現在我用cat文件嘗試了一些不同的東西 awk'printf {}'命令,但它只是打印第一行並失敗或將嘗試打印第一個名稱,然后它下面的每個項目不是這個表樣式
現在記住項目,左邊的數字用循環生成,然后#Name LS打印到與破折號相同的位置
使用GNU awk進行多字符RS和RT:
$ awk -v RS='[0-9]{3}[[:alpha:]]{2}[[:blank:]]*' 'RT{print NR, $0 RT}' file
1 Jackson D. Bob 0001 book pizza apple 4.00 123as
2 Filer J. Jake 0002 happy apple hat 4.00 124ab
3 Metro K. Jim 0003 kindle pizza grape 4.00 125ac
就我而言
$ sed -r 's/[0-9]+[a-z]+ /&\n/g' data_on_a_single_line | column -t
Jackson D. Bob 0001 book pizza apple 4.00 123as
Filer J. Jake 0002 happy apple hat 4.00 124ab
Metro K. Jim 0003 kindle pizza grape 4.00 125ac
您可以根據字段長度添加魔術標題和下划線,也可以合並awk
的前3個名稱字段
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.