私は、この問題がこれまで何度もわずかに異なる方法で尋ねられたことを知っています。しかし、私はそれらのソリューションを適応させることができませんでした。次の内容のファイルheader.outがあります。
// some text before this
:type = "Primary Grid: Tau Format" ;
:deformation_timestep = 0. ;
:deformation_alpha = 0. ;
:deformation_dalpha = 0. ;
:deformation_h = 0. ;
:deformation_dh = 0. ;
:deformation_step = 0 ;
:adaptation_level = 0 ;
:connectivity_check = 1 ;
:volume_check = 1 ;
:point_check = 1 ;
:test_lib_check = 1 ;
:periodic_pairs_check = 1 ;
:is_balanced = 0 ;
:preserve_piles = 0 ;
:marker_1 = "WingMidTrailing" ;
:marker_2 = "WingMidLower" ;
:marker_3 = "WingMidUpper" ;
:marker_4 = "WingSide" ;
:marker_5 = "Farfield" ;
:marker_6 = "SymmetryPlane" ;
:marker_7 = "WingInnerLower" ;
:marker_8 = "WingInnerUpper" ;
:marker_9 = "WingInnerTrailing" ;
:marker_10 = "WingOuterLower" ;
:marker_11 = "WingOuterUpper" ;
:marker_12 = "WingOuterTrailing" ;
}
文字列「SymmetryPlane」に属するマーカーのIDを抽出する必要があるため、この場合、出力として6を使用します。sedおよび正規表現を使用したすべての試行が失敗しました。私が試したことは:
sed 's/.*marker_\(.*\) = "SymmetryPlane.*/\1/' header.out
しかし、これは私にしか与えません
:type = "Primary Grid: Tau Format" ;
:deformation_timestep = 0. ;
:deformation_alpha = 0. ;
:deformation_dalpha = 0. ;
:deformation_h = 0. ;
:deformation_dh = 0. ;
:deformation_step = 0 ;
:adaptation_level = 0 ;
:connectivity_check = 1 ;
:volume_check = 1 ;
:point_check = 1 ;
:test_lib_check = 1 ;
:periodic_pairs_check = 1 ;
:is_balanced = 0 ;
:preserve_piles = 0 ;
:marker_1 = "WingMidTrailing" ;
:marker_2 = "WingMidLower" ;
:marker_3 = "WingMidUpper" ;
:marker_4 = "WingSide" ;
:marker_5 = "Farfield" ;
6
:marker_7 = "WingInnerLower" ;
:marker_8 = "WingInnerUpper" ;
:marker_9 = "WingInnerTrailing" ;
:marker_10 = "WingOuterLower" ;
:marker_11 = "WingOuterUpper" ;
:marker_12 = "WingOuterTrailing" ;
}
なぜこれが起こっているのかわかりません。
前もって感謝します!