0
例:if文に1つの文しか含まれていないif文に対して、ディレクトリを再帰的に検索するにはどうすればよいですか?
if ($bar) {
$foo = 1;
}
私はgrepの正規表現と改行をしようとしてきたが、私の結論はgrepのは、一度に1本のラインを見てすることができるだけであるということですので、私が使用してどのようなツールが必要なのかこれらを検索しますか?
おかげ
例:if文に1つの文しか含まれていないif文に対して、ディレクトリを再帰的に検索するにはどうすればよいですか?
if ($bar) {
$foo = 1;
}
私はgrepの正規表現と改行をしようとしてきたが、私の結論はgrepのは、一度に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;
}
パーフェクト、ありがとう。そして、いったん私はその出発点を他のシナリオ(if/elseなど)に適合させるのが簡単です。 – Codemonkey
を私は[ '' if'を見つけ、その後、パターン間の検索sed' 'と思うだろう{] 'と' [}] 'となります。 'sed'は' n'と 'N'コマンドを提供して、次の行をパターンスペースに読み書きします。 –