我有2個文本文件
我從第一個文本文件中取得一行文本中變量中的字符串,再附值另一個變量----這一步我已實現
現我想到第二文本中搜索上一步附值的變量,並從搜索到的行或行中的某一變量中取得字符
串變量再返回第一文本中執行命令(余下命 令中要用到第二文本中取得的字符串變量)。
請高手出手,不知該如何實現???????
能不能給兩個文本,這種東西每個實現方式多是不一樣的
tmp1:
qwe rtgbh52800op
poil 7851fghjj874
tmp2
poil 999rrr
qwe uytppp
我現在要用tmp2中的$2字段中的幾個字符串替換tmp1中的$2字段中的幾個字符串
Like database, use 'join' !
當然不是這麼簡單
我也想問問?AWK中能同時對兩個文件操作嗎?或者AWK可以嵌套嗎?如果都不行,那你可以試試用SHELL編個小程序。
for var1 in `cat tmp1'
done
for var2 in 'cat tmp2'
done
if var1 ? var2 then
command var1 var2
do
do
當然我也知道的不多,你可以考慮類似的想法!
awk ' BEGIN { i=1
while((getline < "tmp2")>0)
{ F[[i]]=$1; S[[i]]=$2; i++ }
line=i
}
{ for(j=1;j<=line;j++)
{ if($1==F[[j]]) printf "%s,%s
",$1,S[[j]] }
}
' tmp1
先把tmp2文件的$1,$2讀入數組,然後再操作tmp2
-------------
Sorry: 昨天寫完之後沒有仔細看
樓上的是否應是 { F[i]=$1; S[i]=$2; i++ }
如果要求就是像tmp1,tmp2那樣,為什麼不這樣:(要是想把tmp1中不匹配的也打出來稍微改動即可)
while read line;do
key=`echo $linecut -d" " -f1`
grep $key tmp2
done < tmp1
如果兩個排序後第一列一樣的話,用paste也很簡單.
第一列不一樣的
我有如下二個文本temp1
qwaszbbbpol 2001020300000666.25000009875213
rfvcgaaaujn 3021545669000008.99000000000512
... ...
temp2
985hjklfsaaa95fh 7845.56
fv5684521bbBTgd6 44.14
... ...
現要根據第一列中字段中的aaa或bbb,... 為兩個文本的對應關系,搜索到以後用temp2中
的$2值替換temp1中$2中的有小數點的其中幾個字符或數值
DO YOU KNOWN ????
我想你的問題只不過又增加了復雜度。
你可以在awk裡用substr。
不喜歡做類似的家庭作業。
是Do you know吧。
這是我的實際問題,我要統計數據!
我靠,受不了了。(對不起,我很少這麼沖動),發帖子也是要講學問的,否則只有讓人生厭,哪裡能解決問題。我先泛泛說說發帖的問題:
有內容(不要只靠個標題就over了吧)
題目既引人又能實事求是的說明問題("help!求救!"來這的,有誰不是要說help的?將來看到這樣的題目誰能知道是干什麼的?)
經過自身思考(不要東抄西抄,或是有一點問題,毫不探究,直接問將上來,連自己身邊的參考書或是man幫助都不查一下;別人的回答,即使沒有100%解決問題,關鍵地方解決了,其余憑自己完全可以搞定,也不死心的追問不停,直到獲得100%的代碼,paste完事)
表達清楚(是什麼就是什麼,顛三倒四或是含糊其辭、連連省略地說一大通,唐僧也要自愧不如的)
描述詳盡(發了帖自己至少要推敲一番,假定別人完全沒有你的問題背景,能不能領會你的意思?相關的細節是否說清楚了呢?不要讓別人反復追問你細節都得7,8帖吧)
這位ljp0683仁兄,也許你的問題涉及保密性,你可以不按問題的原樣來問大家,可是就得保證你的描述方式是清楚地啊。大家好意的猜測你的意思,提出自己的解決方法,你再擠牙膏地告訴,不是這樣不是那樣,最終舉的例子也沒把問題說清楚,還挺有火氣。斑竹的目前的回應心情也就完全可以理解了。
我來問問你的描述是什麼意思?第一列的aaa,bbb是怎樣確定的?是幾個連續的字符?(若是,那是連續幾個呢)還是從固定的第幾個字符算起到第幾個字符結束?找不到對應關系的行怎麼處理?還有到底是temp2的$2替換temp1的$2的哪個?是$2全部,還是小數點部分?
大家對你的幾個回答,一點啟發都沒有?不能根據大家的思路完成其余的工作?
我們對你的問題背景一無所知,對於我們來說沒有默認值的,所以才需要你描述清楚啊!要是多幾個這樣的帖子,大家的耐心都會磨沒的,日子長了,這個論壇也就自己消亡了。