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

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

Chinaunix

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

[文本處理] 如何把a(bǔ)wk的結(jié)果用做另一條命令的輸入?yún)?shù) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2012-11-23 05:06 |只看該作者 |倒序?yàn)g覽
用awk處理完文件變成以下格式
index x    y    z
1      20   15  30
2      98   34  76
3      36   45   12
...
其中x y z的值是下條命令的輸入?yún)?shù),輸入格式為 x,y,z如下:

命令 -c x,y,z

怎么做。课以嚵擞脁args也不對(duì)啊
awk輸出外部變量到“‘var’”報(bào)錯(cuò)說 expression for ' redirection has null string value
但是大家都是用完單引號(hào),再用雙引號(hào)啊,我把引號(hào)倒過來,還是不對(duì),只用雙引號(hào)輸出不了變量?
這是怎么回事?請(qǐng)各位大俠不吝賜教

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2012-11-23 05:19 |只看該作者
我還想過把這四個(gè)值打印在兩行,第一行是$1 index, 第二行是$2,$3,$4按格式打印到文件new,如下
index:1
20,15,30
index:2
98,34,76
index:3
36,45,12
...
然后for循環(huán)讀取文件new的每一行
if判斷for讀取的變量是index還是我要的數(shù)據(jù)
if [ 不會(huì)判斷 ];then
命令 -c $var
fi
這個(gè)方法其實(shí)可以,但是我的問題是,if的條件怎么寫?
$var = "index*"為什么我這用*不可以。
哪位來解答一下?
小女子感激不盡

論壇徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亞冠之浦和紅鉆
日期:2015-06-23 19:10:532015亞冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16賽季CBA聯(lián)賽之山東
日期:2016-01-31 18:25:0515-16賽季CBA聯(lián)賽之四川
日期:2016-02-16 16:08:30程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-06-29 06:20:002017金雞報(bào)曉
日期:2017-01-10 15:19:5615-16賽季CBA聯(lián)賽之佛山
日期:2017-02-27 20:41:19
3 [報(bào)告]
發(fā)表于 2012-11-23 08:12 |只看該作者
在awk中直接調(diào)用外部命令不行嗎?

論壇徽章:
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
4 [報(bào)告]
發(fā)表于 2012-11-23 09:14 |只看該作者
在你處理文本的命令后面加上這個(gè)試試:
  1. | awk -vOFS="," 'NR>1{print $2,$3,$4}' | while read line;do 命令 -c $line;done
復(fù)制代碼

論壇徽章:
71
15-16賽季CBA聯(lián)賽之同曦
日期:2018-08-23 15:41:42辰龍
日期:2014-08-15 09:07:43獅子座
日期:2014-06-03 13:55:33亥豬
日期:2014-06-02 11:17:08巨蟹座
日期:2014-05-06 10:02:03午馬
日期:2014-05-04 08:18:27亥豬
日期:2014-04-29 11:11:32技術(shù)圖書徽章
日期:2014-04-24 15:51:26技術(shù)圖書徽章
日期:2014-04-17 11:01:53辰龍
日期:2014-04-15 12:45:46亥豬
日期:2014-04-11 09:06:23射手座
日期:2014-04-01 15:28:10
5 [報(bào)告]
發(fā)表于 2012-11-23 09:49 |只看該作者
awk 里不是有個(gè)-v定義變量嗎?

論壇徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亞冠之浦和紅鉆
日期:2015-06-29 15:30:48
6 [報(bào)告]
發(fā)表于 2012-11-23 09:52 |只看該作者
  1. awk 'BEGIN{OFS=","}{if(NR>1)print "COMMAND -c "$2,$3,$4}'
復(fù)制代碼
如果這樣就是LZ你想要的結(jié)果的話,那就改成
  1. awk '{if(NR>1)system("COMMAND -c "$2","$3","$4)}'
復(fù)制代碼

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2012-11-23 20:33 |只看該作者
回復(fù) 3# waker

不行吧,還是我用錯(cuò)了?
awk '{`外部命令 -c $2,$3,$4`}' 這樣么?
可是報(bào)錯(cuò)說``語法錯(cuò)誤


   

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2012-11-23 20:34 |只看該作者
回復(fù) 4# yestreenstars
就是這個(gè)意思,但是我希望把每行的index也打印出來,然后跟著執(zhí)行while這樣怎么做啊?能再幫我看看么?不好意思啊

   

論壇徽章:
0
9
發(fā)表于 2012-11-23 20:37
回復(fù) 6# dn833


在awk里調(diào)用外部命令 用雙引號(hào)哦,謝謝指教,還有就是我想把index打印在每行外部命令執(zhí)行之前,怎么做?謝謝

論壇徽章:
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
10 [報(bào)告]
發(fā)表于 2012-11-23 20:47 |只看該作者
本帖最后由 yestreenstars 于 2012-11-23 20:48 編輯

回復(fù) 8# shrimpj


試一下這個(gè):
  1. | awk 'NR>1{print $1;system("命令 -c "$2","$3","$4)}'
復(fù)制代碼
您需要登錄后才可以回帖 登錄 | 注冊(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ū)
中國互聯(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