E.g:
Time
我一直在尝试使用grep中的正则表达式和换行符,但我的结论是grep一次只能查看一行,那么我需要使用什么工具来搜索这些?
由于
答案 0 :(得分:1)
您可以试试sed
:
sed -n '/^\s*if\s*(.*)/{N;/\s*{$/N; N;/}\s*$/p}' file
<强>测试强>
$ cat file
if ($bar) {
$foo = 1;
}
if ($bar) {
$foo = 1;
$foo = 2;
}
if ($foo)
{
$foo = 1;
}
if ($foo)
{
$foo = 1;
$foo = 2;
}
$ sed -n '/^\s*if\s*(.*)/{N;/\s*{$/N; N;/}\s*$/p}' file
if ($bar) {
$foo = 1;
}
if ($foo)
{
$foo = 1;
}