|
藍森林 http://www.lslnet.com 2006年6月26日 11:18
請教一個sed問題。
有如下兩個文件
文件A
aaa dfgdfdfgdf
bbb cvbcvcvbb
文件B的格式與A相同。我想實現這樣的功能,循環讀入文件A中的每一行。如果B文件中的第一列等於當前讀入的A文件的行第一列則用A文件的當前行替換B文件的這一行。
在循環過程中,由於sed不能直接保存修改結果,直接重定向也只能保存最後替換的那一行。請問高手如何解決。
#!/bin/bash
totalcount=`wc -l filea|awk '{print $1}'`
i=1
while [ $i -le $totalcount ]
do
row=`sed -n ${i}p filea`
columa=`sed -n ${i}p /mvptmac/validtable | awk '{print $1}'`
i=`expr $i + 1`
sed /$columa/a\ "${row}" fileb >/mvptmac/filec
done |
請教一個sed問題。
[code]# join -a2 A B|awk '{print $1,$2}'
aaa dfgdfdfgdf
bbb cvbcvcvbb
c eti[/code]
[code]# cat A
aaa dfgdfdfgdf
bbb cvbcvcvbb
ccc eti[/code]
[code]# cat B
aaa 133
bbb 245
c eti[/code]
[code]# join -a2 A B|awk '{print $1,$2}'
aaa dfgdfdfgdf
bbb cvbcvcvbb
c eti[/code] |
| |