私はちょうど私がこのXMLファイルをgrepして出力を保存するには?
grep '<c1 unit="Hz"' *.xml | cut -f2 -d">"|cut -f1 -d"<"
ようにしようとした巨大なXMLファイルの一部
<caldata chopper="on" gain_1="0" gain_2="0" gain_3="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">4.00000000e+04</c1>
<c2 unit="V/(nT*Hz)">8.35950000e-06</c2>
<c3 unit="deg">-1.17930000e+02</c3>
</caldata>
<caldata chopper="on" gain_1="0" gain_2="0" gain_3="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">5.55810000e+04</c1>
<c2 unit="V/(nT*Hz)">4.43400000e-06</c2>
<c3 unit="deg">-1.58280000e+02</c3>
</caldata>
<caldata chopper="on" gain_1="0" gain_2="0" gain_3="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">6.00000000e+04</c1>
<c2 unit="V/(nT*Hz)">3.63180000e-06</c2>
<c3 unit="deg">-1.67340000e+02</c3>
</caldata>
<caldata chopper="off" gain_1="0" gain_2="0" gain_3="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">4.00000000e-01</c1>
<c2 unit="V/(nT*Hz)">1.07140000e-02</c2>
<c3 unit="deg">1.48080000e+02</c3>
</caldata>
<caldata chopper="off" gain_1="0" gain_2="0" gain_3="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">5.55800000e-01</c1>
<c2 unit="V/(nT*Hz)">1.33250000e-02</c2>
<c3 unit="deg">1.39110000e+02</c3>
</caldata>
<caldata chopper="off" gain_1="0" gain_2="0" gain_3="0" impedance="(0,0)">
<c0 unit="V">0.00000000e+00</c0>
<c1 unit="Hz">7.72300000e-01</c1>
<c2 unit="V/(nT*Hz)">1.57750000e-02</c2>
<c3 unit="deg">1.29560000e+02</c3>
を与えていることは、私が本当にしたい罰金ビットどの作品が出力されたときにのみ caldata chopper="off"
とに私の出力を保存しますファイル。 これを行う方法は?
XML/HTMLパーサ(xmllint、xmlstarletを...)を使用します。 – Cyrus
ファイルはどれくらい大きいですか? mbまたはgbsの100秒ですか? –
@ vtd-xml-author 96,5kB、それほど大きくない! –