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

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

Chinaunix

  平臺 論壇 博客 文庫
12
最近訪問板塊 發(fā)新帖
樓主: qinghan1125
打印 上一主題 下一主題

如何將文件中的域記錄數(shù)設(shè)置為一樣? [復(fù)制鏈接]

論壇徽章:
0
11 [報(bào)告]
發(fā)表于 2010-08-12 08:49 |只看該作者
比如最多為10域,我想在awk中直接在記錄末尾增加(10-NF)個(gè)"|'好像行不通,就是如下這個(gè)意思,對每條記錄
print $0 ("|")\{(10-NF)\}

論壇徽章:
0
12 [報(bào)告]
發(fā)表于 2010-08-12 09:18 |只看該作者
NF是awk的內(nèi)置變量
  1. [tmn@linuxserver tmp]$more urfile
  2. PM200808071904+080024A20080807.1800+0800-20080807.1815+0800_445_UtranCell_-_1.xml.gz
  3. [tmn@linuxserver tmp]$awk -F'.' '{print NF}' urfile
  4. 5
  5. [tmn@linuxserver tmp]$
復(fù)制代碼

論壇徽章:
0
13 [報(bào)告]
發(fā)表于 2010-08-12 09:23 |只看該作者
那我就不知道你到底想要干什么了,不要讓大家猜你的想法

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
14 [報(bào)告]
發(fā)表于 2010-08-12 09:38 |只看該作者
本帖最后由 昭襄王 于 2010-08-12 09:44 編輯

你最長的是11個(gè)域
  1. awk '{print $0 "|||||||||||||||||||||||||||||"}' lines | cut -f -12 -d"|"
復(fù)制代碼
fdfd|dfdfd|rere|ferer|fdfdf|fdfdf|fdfrerer|rerer|dfd|||
er|er|ddd|13||||||||
noij|3434|fdfdf|3434fdd|dfvv|fdf||||||
fdfd|dfdfd|rere|ferer|fdfdf|fdfdf|fdfrerer|rerer|dfd|dfdfdf|dfe|
fdfd|fd||||||||||
3434|34ddfd|fdfp0|fdf2||||||||

論壇徽章:
0
15 [報(bào)告]
發(fā)表于 2010-08-12 09:42 |只看該作者

  1. awk -F "|" -v OFS="|" 'NR==FNR{MNF=(MNF>NF)?MNF:NF}NR!=FNR{NF=MNF;print}'數(shù)據(jù)文件 數(shù)據(jù)文件
復(fù)制代碼

論壇徽章:
0
16 [報(bào)告]
發(fā)表于 2010-08-12 09:45 |只看該作者
你最長的是11個(gè)域fdfd|dfdfd|rere|ferer|fdfdf|fdfdf|fdfrerer|rerer|dfd|||
er|er|ddd|13||||||||
noij| ...
昭襄王 發(fā)表于 2010-08-12 09:38



    awk '{print $0 "||||||||||"}' lines | cut -f -12 -d"|"  這個(gè)例子中的print $0 "||||||||||" 有沒有更優(yōu)的寫法?比如用正則表達(dá)式來重復(fù)"|" 10次?

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
17 [報(bào)告]
發(fā)表于 2010-08-12 09:48 |只看該作者
awk '{print $0 "||||||||||"}' lines | cut -f -12 -d"|"  這個(gè)例子中的print $0 "||||||||||"  ...
qinghan1125 發(fā)表于 2010-08-12 09:45

這里沒必要吧,只要有運(yùn)算就有額外開銷

論壇徽章:
0
18 [報(bào)告]
發(fā)表于 2010-08-12 09:52 |只看該作者
本帖最后由 好看的附件 于 2010-08-12 10:31 編輯

我也來個(gè)

  1. awk -F'|' 'NR==FNR{if(NF>max)max=NF};NR>FNR{printf $0;for(i=NF;i<max;i++)printf "|";print ""}' file file
復(fù)制代碼

論壇徽章:
0
19 [報(bào)告]
發(fā)表于 2010-08-12 11:30 |只看該作者
ly5066113 發(fā)表于 2010-08-11 18:39



    借用一下,我覺得下面這個(gè)應(yīng)該也可以的,而且更簡單些:


awk 'BEGIN{FS=OFS="|"}NR==FNR{n=NF>n?NF:n;next}{NF=n;print}' urfile urfile

論壇徽章:
23
15-16賽季CBA聯(lián)賽之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午馬
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16賽季CBA聯(lián)賽之山東
日期:2017-12-21 16:39:1915-16賽季CBA聯(lián)賽之廣東
日期:2016-01-19 13:33:372015亞冠之山東魯能
日期:2015-10-13 09:39:062015亞冠之西悉尼流浪者
日期:2015-09-21 08:27:57
20 [報(bào)告]
發(fā)表于 2010-08-12 11:57 |只看該作者
回復(fù) 19# welcome008


可以,想簡單 {NF=n;print} 可以直接寫成 NF=n
但這種需要GNU awk,非GNU的是無效的
您需要登錄后才可以回帖 登錄 | 注冊

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP