我有一个file1
,里面有一些PHP代码。我需要找到以下内容:action="blahblah"
并将其替换为action="error.php"
。问题是,我不知道原文中的引号之间有多少个字符。
以下是我的不起作用:
sed 's:action="^[^"]*":action="error.php":' <file1> file2
我该怎么做?
答案 0 :(得分:2)
为什么在字符类之前有^
行首标记?尝试使用:
sed 's:action="[^"]*":action="error.php":' <file1 > file2
这是一个成绩单,显示您的版本以及该更正:
pax$ echo 'blah action="something" blah' | sed '
...$ s:action="^[^"]*":action="error.php":'
blah action="something" blah
pax$ echo 'blah action="something" blah' | sed '
...$ s:action="[^"]*":action="error.php":'
blah action="error.php" blah