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

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

Chinaunix

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

[文本處理] 關(guān)于awk內(nèi)部調(diào)用linux命令的原理 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-01-15 14:04 |只看該作者 |倒序?yàn)g覽
本帖最后由 rdcwayx 于 2015-01-15 17:28 編輯

請(qǐng)教大家一個(gè) 問題:
awk命令里面, 如果需要調(diào)用 linux其他的命令, shell 是怎么解析的呢?
比如:
  1. awk '{ print $2, $3 | "sort -n -k1"; }'  file1
復(fù)制代碼
這個(gè)命令, 遍歷 file1的每一行, 然后 print $2, $3,
將輸出的內(nèi)容,放到緩存中, 最后  再 執(zhí)行 "sort -n -k1"; 嗎?


還是 每次 讀取 file1的一行, 就 print $2, $3, 然后 就執(zhí)行 "sort -n -k1"; 嗎?


-------------請(qǐng) 高手幫忙------------------------

論壇徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
2 [報(bào)告]
發(fā)表于 2015-01-15 14:31 |只看該作者
回復(fù) 1# xuzhou2015


    一般除了直接把輸出打印至文件里面,否則要在awk里面執(zhí)行外部命令的話,用getline或者system來執(zhí)行外部命令比較好

論壇徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-06-12 06:20:002016科比退役紀(jì)念章
日期:2016-05-31 15:47:20CU十四周年紀(jì)念徽章
日期:2016-05-27 12:24:562015年亞洲杯之阿曼
日期:2015-05-03 21:01:352015年辭舊歲徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00
3 [報(bào)告]
發(fā)表于 2015-01-15 14:40 |只看該作者
回復(fù) 1# xuzhou2015


   
       print ... | command
              Writes on a pipe.

       print ... |& command
              Sends data to a co-process or socket.  (See also the subsection Special File Names, below.)

論壇徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-06-12 06:20:002016科比退役紀(jì)念章
日期:2016-05-31 15:47:20CU十四周年紀(jì)念徽章
日期:2016-05-27 12:24:562015年亞洲杯之阿曼
日期:2015-05-03 21:01:352015年辭舊歲徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00
4 [報(bào)告]
發(fā)表于 2015-01-15 14:46 |只看該作者
回復(fù) 1# xuzhou2015


將輸出的內(nèi)容,放到緩存中, 最后  再 執(zhí)行 "sort -n -k1"; 嗎?


還是 每次 讀取 file1的一行, 就 print $2, $3, 然后 就執(zhí)行 "sort -n -k1"; 嗎?

是每次讀一行就print,然后就看管道后面命令對(duì)輸入的處理,sort是接收完全部輸入后排序
如果換成cat -n命令,就明顯看出是讀一行輸出一行了

awk是按行處理的

   
您需要登錄后才可以回帖 登錄 | 注冊(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