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

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

Chinaunix

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

Awk 中調(diào)用system的變量傳遞問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2003-12-25 12:35 |只看該作者 |倒序?yàn)g覽
#pwd
/u
#cat ../ans.awk

BEGIN{
}
{
  variable=dir_name
  system("mkdir /u/variable"
}
END{
}
#cat ../open.txt |awk -f ../ans.awk 2>/dev/null
#pwd
/u
#lf
u/  variable/

就是如何在awk腳本中執(zhí)行system命令調(diào)用時(shí)將awk腳本中的變量傳遞給syetem中的串??????????

論壇徽章:
7
榮譽(yù)版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
2 [報(bào)告]
發(fā)表于 2003-12-25 12:59 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

  1. system("mkdir /u/" variable)
復(fù)制代碼

是不是這個(gè)意思?

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2003-12-25 13:18 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

[quote]原帖由 "r2007"]是不是這個(gè)意思?[/quote 發(fā)表:


不是的,我的意思是
如果在awk里面執(zhí)行system("/u/kkk"
則會(huì)在/u目錄下建立kkk目錄
但是現(xiàn)在我現(xiàn)在system("/u/variable"
這里的variable是一個(gè)變量的名稱,
上面有variable=dir_name,
可以系統(tǒng)還是建立了/u/variable的目錄,并沒有建立/u/dir_name的目錄
我是要知道如何將awk中定義的變量傳遞給system中調(diào)用執(zhí)行

論壇徽章:
7
榮譽(yù)版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
4 [報(bào)告]
發(fā)表于 2003-12-25 13:30 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

你試了嗎?
這是我的測試結(jié)果
  1. r2007@www r2007 $ ls -d var3
  2. ls: var3: No such file or directory
  3. r2007@www r2007 $ awk 'BEGIN{d="var3";system("mkdir ./" d)}'                    
  4. r2007@www r2007 $ ls -d var3
  5. var3
  6. r2007@www r2007 $
復(fù)制代碼

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2003-12-25 13:58 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

[quote]原帖由 "r2007"][/quote 發(fā)表:


呵呵,行了,開始我沒有對(duì)變量加引號(hào),即然后d=var3
這樣就不行,必須是d="var3"
不過還好d=substr($0,4,和在把d1=d
system("mkdir /u/"d)和system("mkdir /u/"d1)都可以
不過還有個(gè)請(qǐng)求
就是如何在awk中
用system表達(dá)system("cat /u/var1/var2|sed -n '4p' >>var3"
這樣的意思??(其中var1,var2,var3都在awk腳本中通過substr獲得)
真不知道這樣引號(hào)該怎么加了???

論壇徽章:
7
榮譽(yù)版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07獅子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10雙子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
6 [報(bào)告]
發(fā)表于 2003-12-25 14:13 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

空格在awk中是字符串連接操作符。
所以將固定字串放在""中,變量放在""外面,之間用空格連起來,如下(未測試)

  1. system("cat /u/" var1 "/" var2 "|sed -n '4p' >>" var3)
復(fù)制代碼

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2003-12-25 15:07 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

樓主要會(huì)舉一反三才行呀,
其實(shí)所提問題核心在:在awk中如何合并字符串或存放字符串的變量。
s_var1 = "a"
s_var2 = "b"
s_var3 = "c"
s_com = s_var1 s_var2 s_var3 "DDD" "EEE

s_com最后就是字符串"abcDDDEEE", ok ?

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

Awk 中調(diào)用system的變量傳遞問題

最后的EEE漏了一個(gè)", sorry,大意之失!

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2003-12-25 17:38 |只看該作者

Awk 中調(diào)用system的變量傳遞問題

在c中可以這樣
char buff[50];
sprintf(buff,"/u/%s",variable)
system(buff);
但是awk中的sprintf不行。
還有就是同樣的代碼在awk中可以運(yùn)行了,
但是用gawk不行
就是說剛剛上面成功運(yùn)行的system調(diào)用,如果換成gawk會(huì)報(bào)錯(cuò),
不知道什么原因?

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2003-12-25 17:51 |只看該作者

Awk 中調(diào)用system的變量傳遞問題


  1. #!/bin/sh
  2. for i in `cat test2`
  3. do
  4. awk '{system("curl -x "$1":"$2" ""'$i'")}' test
  5. done
復(fù)制代碼


這個(gè)例子就很能說明問題了...簡單的說就是除了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ū)
中國互聯(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