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

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

Chinaunix

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

[文本處理] awk中這個(gè)表達(dá)式怎么理解? [復(fù)制鏈接]

論壇徽章:
2
獅子座
日期:2014-05-30 21:43:03巳蛇
日期:2014-05-30 21:46:14
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2014-05-31 00:16 |只看該作者 |倒序?yàn)g覽
5可用積分
(ORS=( i=!i)?"":RS)||1
我的理解是:
(ORS=( i=!i)?"":RS)  或者1
ORS等于( i=!i)的值嗎?若是則賦值ORS為空,否則等于RS
我的理解對(duì)嗎?
在下不解的地方是 (i=!i),貌似沒有這個(gè)    =!    操作符啊?

此外,通過這個(gè)命令輸出結(jié)果為:

  1. sed 10 | awk ' {(ORS=( i=!i)?"":RS)||1;print}'
  2. 12
  3. 34
  4. 56
  5. 78
  6. 910
復(fù)制代碼
如果輸出成這樣該如何操作?
21
43
65
87
109

十分感謝!

最佳答案

查看完整內(nèi)容

目測(cè)原來應(yīng)該是這樣的,被樓主篡改了~先解釋一下i=!i吧~首先=!不是操作符,寫成這樣或許你就明白了:i=(!i)樓主你運(yùn)行一下下面這個(gè)命令就能理解每一行i的值了~理解了i=!i后,再來看這個(gè)三元操作符~ORS=(i=!i)?"":RS,根據(jù)i=!i的值來決定ORS的值,如果i=!i為真,則ORS="",否則ORS=RS。最后,如果ORS="",表示邏輯或前面的值為假,那么執(zhí)行后面的1,也就是打印當(dāng)前行;如果ORS=RS,則直接打印。

論壇徽章:
32
處女座
日期:2013-11-20 23:41:20雙子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00處女座
日期:2014-07-22 17:30:47獅子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥豬
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58處女座
日期:2014-12-02 09:17:52程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-06-16 22:20:002015亞冠之塔什干火車頭
日期:2015-06-20 23:28:22
2 [報(bào)告]
發(fā)表于 2014-05-31 00:16 |只看該作者
目測(cè)原來應(yīng)該是這樣的,被樓主篡改了~
  1. seq 10 | awk '(ORS=(i=!i)?"":RS)||1'
復(fù)制代碼
先解釋一下i=!i吧~
首先=!不是操作符,寫成這樣或許你就明白了:i=(!i)
樓主你運(yùn)行一下下面這個(gè)命令就能理解每一行i的值了~
  1. seq 10 | awk '{i=!i;print "NR="NR,"i="i}'
復(fù)制代碼
理解了i=!i后,再來看這個(gè)三元操作符~
ORS=(i=!i)?"":RS,根據(jù)i=!i的值來決定ORS的值,如果i=!i為真,則ORS="",否則ORS=RS。
最后,如果ORS="",表示邏輯或前面的值為假,那么執(zhí)行后面的1,也就是打印當(dāng)前行;如果ORS=RS,則直接打印。
  1. [root@localhost tmp]# seq 10 | awk 'NR%2==0{print $0s}{s=$0}'
  2. 21
  3. 43
  4. 65
  5. 87
  6. 109
  7. [root@localhost tmp]#
復(fù)制代碼

論壇徽章:
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
3 [報(bào)告]
發(fā)表于 2014-05-31 07:50 |只看該作者
這種操作用getline簡(jiǎn)單明了:
seq 10|awk '{getline a; print $0 a}'
seq 10|awk '{getline a;print a$0}'

論壇徽章:
2
獅子座
日期:2014-05-30 21:43:03巳蛇
日期:2014-05-30 21:46:14
4 [報(bào)告]
發(fā)表于 2014-05-31 09:59 |只看該作者
感謝二位的精彩點(diǎn)撥!
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(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ū)
中國(guó)互聯(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