亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
123下一頁
最近訪問板塊 發(fā)新帖
查看: 4965 | 回復(fù): 21
打印 上一主題 下一主題

[文本處理] 非常捉急,求AWK的一個(gè)實(shí)現(xiàn),想破頭都沒想出來怎么實(shí)現(xiàn)。。。 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2013-11-11 21:53 |只看該作者 |倒序?yàn)g覽
本帖最后由 beacon1024 于 2013-11-11 22:27 編輯

# Hostname: BANCS01HADRDB
# Date: Mon May 27 12:36:01 CST 2013
# Uptime: 12:36PM   up 25 days,  12:25,  2 users
# Hostname: PIPRDAP1
# RunDate: Thu Aug 29 15:58:36 CST 2013
# Uptime: 03:58:49   up 4 days,  16:51:20,  1 user
# Hostname: localhost
# RunDate: Thu Aug 29 15:57:58 CST 2013
# Uptime: 03:57PM   up 7 days,  22:33,  1 user
# Hostname: BANCS02APP
# Date: Thu May 16 18:09:31 CST 2013
# Uptime: 06:09PM   up 14 days,  18:01,  1 user
# Hostname: BANCS02XSAPP
# Date: Thu May 16 18:40:46 CST 2013
# Uptime: 06:40PM   up 14 days,  18:30,  1 user

我有這些輸出,現(xiàn)在想把第一個(gè)冒號(hào)“:”左邊的所有文本都向左對(duì)齊,站位10個(gè)字符,其他全部向右對(duì)齊,類似如下:


# Hostname:      BANCS01HADRDB
# Date:             Mon May 27 12:36:01 CST 2013
# Uptime:          12:36PM   up 25 days,  12:25,  2 users
# Hostname:      PIPRDAP1
# RunDate:       Thu Aug 29 15:58:36 CST 2013
# Uptime:          03
# Hostname:     localhost
# RunDate:      Thu Aug 29 15:57:58 CST 2013
# Uptime:         03:57PM   up 7 days,  22:33,  1 user
# Hostname:    BANCS02APP
# Date:            Thu May 16 18:09:31 CST 2013
# Uptime:         06:09PM   up 14 days,  18:01,  1 user
# Hostname:     BANCS02XSAPP
# Date:            Thu May 16 18:40:46 CST 2013
# Uptime:         06:40PM   up 14 days,  18:30,  1 user

但是我用awk這樣實(shí)現(xiàn)
awk -F: '/^#/&&NF==4{printf "%-13s%s%s%s\n",$1":",$2,":"$3,":"$4;next}
                                 /^#/&&NF==1{printf "%-13s%s\n",$1,$2;next}
                                /^#/{printf "%-13s%s\n",$1":",$2;next}{print "  "$0}'
但是發(fā)現(xiàn)如果冒號(hào)數(shù)量不一樣,會(huì)出現(xiàn)異常,比如第六行就不對(duì)了。


簡單來說就是,不管有多少個(gè)冒號(hào)“:”,用”:“做分隔符,第一個(gè)字段左對(duì)齊,后面全部右對(duì)齊!

# Uptime: 03:58:49   up 4 days,  16:51:20,  1 user


怎么實(shí)現(xiàn)?各位指教,在線等!

論壇徽章:
39
辰龍
日期:2013-08-21 15:45:192015亞冠之廣州富力
日期:2015-05-12 16:34:52亥豬
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17雙魚座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亞冠之卡爾希納薩夫
日期:2015-05-24 15:24:35黃金圣斗士
日期:2015-12-02 17:25:0815-16賽季CBA聯(lián)賽之吉林
日期:2017-06-24 16:43:52
2 [報(bào)告]
發(fā)表于 2013-11-11 22:32 |只看該作者
本帖最后由 關(guān)陰月飛 于 2013-11-11 22:33 編輯

回復(fù) 1# beacon1024


右對(duì)齊是什么概念?
是這樣么?
  1. aa:      12222
  2. bbb:      2222
  3. cccc:      222
復(fù)制代碼

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
3 [報(bào)告]
發(fā)表于 2013-11-11 22:37 |只看該作者
回復(fù) 1# beacon1024


    awk -F":[\t ]+" '{printf "%-13s%s\n",$1,$2}'

論壇徽章:
0
4
發(fā)表于 2013-11-11 22:44
是的回復(fù) 2# 關(guān)陰月飛


   

論壇徽章:
29
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-02-29 06:20:0015-16賽季CBA聯(lián)賽之天津
日期:2016-08-10 10:33:1115-16賽季CBA聯(lián)賽之深圳
日期:2016-08-17 15:07:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-11-07 11:33:5015-16賽季CBA聯(lián)賽之廣夏
日期:2016-11-15 09:13:31CU十四周年紀(jì)念徽章
日期:2016-11-24 14:12:25極客徽章
日期:2016-12-07 14:03:4015-16賽季CBA聯(lián)賽之深圳
日期:2016-12-07 17:15:2715-16賽季CBA聯(lián)賽之北京
日期:2016-12-22 09:30:0115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-22 10:49:2115-16賽季CBA聯(lián)賽之山西
日期:2017-02-10 09:05:3215-16賽季CBA聯(lián)賽之同曦
日期:2017-02-27 14:19:08
5
發(fā)表于 2013-11-11 22:47
回復(fù) 1# beacon1024


    awk -F: '{printf "%-13s", $1":"; for(i=2; i<=NF; ++i)printf $i; print ""}'  file

這樣符合你的要求嗎

論壇徽章:
0
6
發(fā)表于 2013-11-11 22:48
回復(fù) 3# yinyuemi


    謝謝您的回復(fù)!真的可以啊,不過沒看懂。。。
     
awk -F":[\t ]+" '{printf "%-13s%s\n",$1,$2}'

這個(gè)[\t]是tab嗎,但是我的文本是空格啊,沒有tab。

論壇徽章:
0
7
發(fā)表于 2013-11-11 22:49
回復(fù) 5# elu_ligao


    這個(gè)不行,冒號(hào)分隔符都沒有了


# Hostname:   BANCS01HADRDB
# Date:       Mon May 27 123601 CST 2013
# Uptime:     1236PM   up 25 days,  1225,  2 users
# Hostname:   PIPRDAP1
# RunDate:    Thu Aug 29 155836 CST 2013
# Uptime:     035849   up 4 days,  165120,  1 user
# Hostname:   localhost
# RunDate:    Thu Aug 29 155758 CST 2013
# Uptime:     0357PM   up 7 days,  2233,  1 user
# Hostname:   BANCS02APP
# Date:       Thu May 16 180931 CST 2013
# Uptime:     0609PM   up 14 days,  1801,  1 user
# Hostname:   BANCS02XSAPP
# Date:       Thu May 16 184046 CST 2013
# Uptime:     0640PM   up 14 days,  1830,  1 user

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2013-11-11 22:52 |只看該作者
回復(fù) 3# yinyuemi


    有點(diǎn)明白了,沒注意后面還有一個(gè)空格。但是為什么這樣定義FS后,就只有$1 $2 了呢?

論壇徽章:
29
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-02-29 06:20:0015-16賽季CBA聯(lián)賽之天津
日期:2016-08-10 10:33:1115-16賽季CBA聯(lián)賽之深圳
日期:2016-08-17 15:07:2015-16賽季CBA聯(lián)賽之佛山
日期:2016-11-07 11:33:5015-16賽季CBA聯(lián)賽之廣夏
日期:2016-11-15 09:13:31CU十四周年紀(jì)念徽章
日期:2016-11-24 14:12:25極客徽章
日期:2016-12-07 14:03:4015-16賽季CBA聯(lián)賽之深圳
日期:2016-12-07 17:15:2715-16賽季CBA聯(lián)賽之北京
日期:2016-12-22 09:30:0115-16賽季CBA聯(lián)賽之深圳
日期:2016-12-22 10:49:2115-16賽季CBA聯(lián)賽之山西
日期:2017-02-10 09:05:3215-16賽季CBA聯(lián)賽之同曦
日期:2017-02-27 14:19:08
9 [報(bào)告]
發(fā)表于 2013-11-11 22:55 |只看該作者
回復(fù) 8# beacon1024


    3樓的可以解決了

awk -F ":[ ]+" '{printf "%-13s%s\n", $1":", $2}'  file

論壇徽章:
39
辰龍
日期:2013-08-21 15:45:192015亞冠之廣州富力
日期:2015-05-12 16:34:52亥豬
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17雙魚座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亞冠之卡爾希納薩夫
日期:2015-05-24 15:24:35黃金圣斗士
日期:2015-12-02 17:25:0815-16賽季CBA聯(lián)賽之吉林
日期:2017-06-24 16:43:52
10 [報(bào)告]
發(fā)表于 2013-11-11 22:56 |只看該作者
本帖最后由 關(guān)陰月飛 于 2013-11-11 23:00 編輯

回復(fù) 4# beacon1024

你要的右對(duì)齊:很奇葩:
  1. [root@test]# awk -F': ' '{printf "%-13s%+40s\n",$1FS,$2}'  file
  2. # Hostname:                             BANCS01HADRDB
  3. # Date:                  Mon May 27 12:36:01 CST 2013
  4. # Uptime:      12:36PM   up 25 days,  12:25,  2 users
  5. # Hostname:                                  PIPRDAP1
  6. # RunDate:               Thu Aug 29 15:58:36 CST 2013
  7. # Uptime:    03:58:49   up 4 days,  16:51:20,  1 user
  8. # Hostname:                                 localhost
  9. # RunDate:               Thu Aug 29 15:57:58 CST 2013
  10. # Uptime:        03:57PM   up 7 days,  22:33,  1 user
  11. # Hostname:                                BANCS02APP
  12. # Date:                  Thu May 16 18:09:31 CST 2013
  13. # Uptime:       06:09PM   up 14 days,  18:01,  1 user
  14. # Hostname:                              BANCS02XSAPP
  15. # Date:                  Thu May 16 18:40:46 CST 2013
  16. # Uptime:       06:40PM   up 14 days,  18:30,  1 user
  17. [root@test]# cat file
  18. # Hostname: BANCS01HADRDB
  19. # Date: Mon May 27 12:36:01 CST 2013
  20. # Uptime: 12:36PM   up 25 days,  12:25,  2 users
  21. # Hostname: PIPRDAP1
  22. # RunDate: Thu Aug 29 15:58:36 CST 2013
  23. # Uptime: 03:58:49   up 4 days,  16:51:20,  1 user
  24. # Hostname: localhost
  25. # RunDate: Thu Aug 29 15:57:58 CST 2013
  26. # Uptime: 03:57PM   up 7 days,  22:33,  1 user
  27. # Hostname: BANCS02APP
  28. # Date: Thu May 16 18:09:31 CST 2013
  29. # Uptime: 06:09PM   up 14 days,  18:01,  1 user
  30. # Hostname: BANCS02XSAPP
  31. # Date: Thu May 16 18:40:46 CST 2013
  32. # Uptime: 06:40PM   up 14 days,  18:30,  1 user
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP