2016-11-17 70 views
1

我有一個文件名爲form.php的:查找和SED Linux的替代值

<?php 
sleep(10); 
?> 

的目的是爲了執行這樣的shell腳本的sed:

$sh example.sh form.php 50 

對於獲得:

<?php 
sleep(50); 
?> 

我想這

$cat example.sh 
#!/bin/sh 
file=$1 
sed -i "s/^\(*sleep\)\([^>]*\)</\1$2</" "$1" 

但不工作...

+1

「不工作......」告訴我們很少。你收到什麼錯誤信息? – Takarii

回答

1

您可以使用:

sed "s/sleep([^)]*)/sleep($2)/" "$file" 

或者這一個:

sed "s/\(sleep\)([^)]*)/\1($2)/" "$file" 

sed使用BRE默認和(or)採取爲文字而不是特殊的正則表達式元字符。

+1

太棒了,它的工作!謝謝anubhava –