0

BCFile次の内容があるとします。

inlet
{
    type            fixedValue;
    value           uniform (5 0 0);
}
outlet
{
    type            inletOutlet;
    inletValue      $internalField;
    value           $internalField;
}
....
blahblahblah (other boundary condition with the same dictionary format as above)

outlet境界条件のタイプ、つまり を出力inletOutletするには、

cat BCFile | grep "type" | awk '{printf $2}'  | tr -d ";"

しかし、今の問題は、grep非常に多くのtypeキーワードが表示されていることです。最初に単語を検出しoutlet、次にその内容を検索してgrepする方法はあり{}ますか? ありがとう!

4

2 に答える 2

1

AWK は非常に強力です。たとえば、}各ブロックにレコード区切りを設定すると、独自のレコードになります。次に、一致するレコードを印刷します。

$ awk -v RS='}' '/outlet/ { print $0 }' file
outlet
{
    type            inletOutlet;
    inletValue      $internalField;
    value           $internalField;
于 2013-04-04T23:06:29.740 に答える