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

Chinaunix

標(biāo)題: 請教:sed或者其他方法 插入數(shù)據(jù) [打印本頁]

作者: guojinshuai    時間: 2014-10-30 15:45
標(biāo)題: 請教:sed或者其他方法 插入數(shù)據(jù)
大俠們,現(xiàn)在有一個文件a,里面的數(shù)據(jù)是:
export DBUSER=bspdev;
export DBPASS=szteamdev;
export DBUSERM=bspdev;
export DBPASSM=szteamdev;

export DEFDIR=$HOME/cycdef;
export JAVA_HOME=/usr/java14

CWDBUSER=zjcs;export CWDBUSER
CWDBPASS=1;export CWDBPASS

我想在export JAVA_HOME=/usr/java14的前一行或者后一行插入一行數(shù)據(jù)export test=ddddddddddddddddd;請大俠多寫幾種方法。

我試了sed 's/^export JAVA_HOME=/export guojs=ddddddddddddddddd;\\n&/g' .profile > 111 想用換行的方法,但是顯示了n,無法達(dá)到換行。

請大俠們幫忙。。。

作者: yestreenstars    時間: 2014-10-30 15:49
一個斜桿就夠啦
作者: guojinshuai    時間: 2014-10-30 15:55
回復(fù) 2# yestreenstars


    一個\n顯示的也是n,無法換行!我的系統(tǒng)是AIX
作者: bulletmarquis    時間: 2014-10-30 16:14
回復(fù) 3# guojinshuai
  1. awk '/export JAVA_HOME/{$0=sprintf("%s\n%s",$0,"export test=ddddddddddddddddd")}1'
復(fù)制代碼
要在JAVA_HOME之前插入,改變一下sprintf兩個參數(shù)的順序就可以了
作者: culhw    時間: 2014-10-30 16:15
回復(fù) 1# guojinshuai 試試這個
nl a | sed '6a export test=dddddd'


   
作者: guojinshuai    時間: 2014-10-30 16:18
回復(fù) 4# bulletmarquis


    大神,你的方法好用。我的AIX系統(tǒng)的sed好像版本比較低,什么-i a\ 命令都不支持,不過你這個方法好用。非常感謝。
作者: guojinshuai    時間: 2014-10-30 16:20
回復(fù) 5# culhw


    我的AIX,不支持a命令。   你樓上的方法好用。。
作者: guojinshuai    時間: 2014-10-30 16:27
回復(fù) 4# bulletmarquis


    大神,我要在C語言里面調(diào)用怎么寫?               
sprintf(strcmd,"awk '/export JAVA_HOME/{$0=sprintf("%s\n%s",$0,"export %s=%s")}1' “,str,value);  我要把tr,value的值傳進(jìn)去。。



作者: yestreenstars    時間: 2014-10-30 16:40
回復(fù) 3# guojinshuai

unix的話用perl吧~
   
作者: bulletmarquis    時間: 2014-10-30 16:59
回復(fù) 8# guojinshuai

    C不熟,目測是這樣。。。
  1. sprintf(strcmd,"awk '/export JAVA_HOME/{print;print \"export %s=%s\")}1'  file“,str,value);  
復(fù)制代碼

作者: jcdiy0601    時間: 2014-10-30 17:07
sed '/^export JAVA_HOME=/a export guojs=ddddddddddddddddd;' test
sed '/^export JAVA_HOME=/i export guojs=ddddddddddddddddd;' test

單純的上下行添加
作者: guojinshuai    時間: 2014-10-30 17:29
回復(fù) 11# jcdiy0601

      大俠,我都說了 i\  a\  不好用。 我的AIX系統(tǒng)上的sed不支持。。。。。
   
作者: jcdiy0601    時間: 2014-10-30 17:37
回復(fù) 12# guojinshuai


    光看題了,沒看你們聊的- -
作者: jason680    時間: 2014-10-30 17:55
@yestreenstars @guojinshuai

try this way for Unix like with good platform supportted

$ perl -pe 's/^(export JAVA_HOME=)/export guojs=ddddddddddddddddd;\n\1/' FILE
export DBUSER=bspdev;
export DBPASS=szteamdev;
export DBUSERM=bspdev;
export DBPASSM=szteamdev;

export DEFDIR=$HOME/cycdef;
export guojs=ddddddddddddddddd;
export JAVA_HOME=/usr/java14

CWDBUSER=zjcs;export CWDBUSER
CWDBPASS=1;export CWDBPASS
作者: guojinshuai    時間: 2014-10-30 17:56
回復(fù) 10# bulletmarquis


    大俠,我這么寫的:               
sprintf(strcmd,"awk '/export JAVA_HOME/{print \"export %s=%s;\"}1'  /home/bspdev1/.profile > /home/bspdev1/.profile_tmp",str,value);  
解析后:
awk '/export JAVA_HOME/{print "export TESTGJS=D605C35198D2CA085E9C6FA7D2DF69F3;"}1' /home/bspdev1/.profile > /home/bspdev1/.profile_tmp
可以執(zhí)行成功。

我納悶的是我寫的跟你的不一樣,竟然也能成功寫入一行數(shù)據(jù),你寫的那個帶\,但是我用帶\的執(zhí)行不成功。。。




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2