2016-08-25 61 views
0

看看下面的例子替換一個字母的第一次相遇的整條生產線:使用SED

[user]$ cat bla.bla 
double a=4; 
double n=5; 
double b=(a/n); 

如果我執行:

[user]$sed "a/c\ int a=4;" bla.bla 
int a=4; 
double n=5; 
int a=4; 

我希望得到的輸出:

[user]$ cat bla.bla 
int a=4; 
double n=5; 
double b=(a/n); 

使用sed命令

回答

2

你必須這樣使用。

sed '/^double a/c\int a=4;' file 

(OR)

sed '/^double a=4/c\int a=4;' file 

更新:

sed '/ a *=/c\int a=4;' file 
+0

它一點兒也不工作...我也不想有 「雙重」 存在,只有當它識別字母「a」 – jarhead

+0

爲什麼downvote?這是一個完全合理的推測OP的想法,至少在GNU sed中,代碼起作用。 +1。 – John1024

+0

@jarhead嘗試:'sed'/^[[:alnum:]] * a =/c \ int a = 4;' – John1024