0

これらの値を含むファイルがあります:-

<property name="india" column="delhi" />
<property name="austrelia" column="sydney" />
<property name="uae" column="dubai" />

ここで、最初の " " 内の値を抽出したいと思います。したがって、結果は次のようになります:-

india
austrelia
uae

私はシェルを使用しており、私の正規表現は "(.*?)" です。ただし、両方の " " 値を選択します。最初だけ欲しい。誰かがこれの正規表現を修正することを提案できますか?

4

2 に答える 2

3

これを試して:

sed -r 's/^[^"]+"([^"]*)".*/\1/' file

あなたのデータでテストしてください:

kent$  echo '<property name="india" column="delhi" />
<property name="austrelia" column="sydney" />
<property name="uae" column="dubai" />'|sed -r 's/^[^"]+"([^"]*)".*/\1/'
india
austrelia
uae
于 2013-02-07T12:33:47.623 に答える
1
$ awk -F\" '{print $2}' file

ところで、おそらくシェルは XML を解析するための理想的なツールではありません。

于 2013-02-07T12:35:00.507 に答える