私のファイル:
<TextBlock x:Key="applicationNameSpectrumAnalyzer" Text="Booting Spectrum Analyzer"></TextBlock>
<TextBlock x:Key="applicationNamePowerMeter" Text="Booting Power Meter"></TextBlock>
<TextBlock x:Key="applicationNameAnalogDemod" Text="Booting Analog Demod"></TextBlock>
<!-- ApplicationHeaderBarView -->
<sys:String x:Key="applicationHeader">Spectrum</sys:String>
<!-- BuildDetailsTrayView -->
<sys:String x:Key="buildVersion">V</sys:String>
<!-- VitalSignsView -->
<sys:String x:Key="vitalSignCPU">CPU</sys:String>
<sys:String x:Key="vitalSignRAM">RAM</sys:String>
<sys:String x:Key="vitalSignMB">MB</sys:String>
希望の出力:
applicationNameSpectrumAnalyzer Booting Spectrum Analyzer
applicationNamePowerMeter Booting Power Meter
applicationNameAnalogDemod Booting Analog Demod
答え1
最善の回答を提供するには、追加情報が必要です。私はあなたが「TestBlock」とマークされた行だけに興味があると思います。このように行を一致させることから始めることができます。
awk -F'"' '/TextBlock/{print $2, $4}' inputfile.txt
これにより、他の行は処理されません。
答え2
これがPerl方式です:
$ perl -lne 'if(/applicationName/){@A=(/"([^"<]+)"/g); print "@A"}' file
applicationNameSpectrumAnalyzer Booting Spectrum Analyzer
applicationNamePowerMeter Booting Power Meter
applicationNameAnalogDemod Booting Analog Demod
答え3
見つけたと思います。注文だけあればいいです。私は以下を使用しました:
awk -F '"' '{print $2 " " $4}' test2.txt