我有一个名为form.php的文件:
<?php
sleep(10);
?>
目的是使用sed:
执行这样的shell脚本$sh example.sh form.php 50
获取:
<?php
sleep(50);
?>
我试过这个
$cat example.sh
#!/bin/sh
file=$1
sed -i "s/^\( *sleep\)\([^>]*\)</\1$2</" "$1"
但不行......
答案 0 :(得分:1)
您可以使用:
sed "s/sleep([^)]*)/sleep($2)/" "$file"
或者这个:
sed "s/\(sleep\)([^)]*)/\1($2)/" "$file"
sed
默认情况下使用BRE,( or )
使用字面值而不是特殊的正则表达式元字符。
答案 1 :(得分:0)
#! /bin/csh -f
setenv A_word AP
setenv B_word KC
rm -rf output/*
cp -rf input/* output/
echo ${A_word}
echo ${B_word}
sed 's/${A_word}/${B_word}/g' output/*
我有上面的代码,但是没有用,如果我将sed 's/${A_word}/${B_word}/g' output/*
替换为
sed 's/AP/KC/g' output/*
它有效,帮帮我