0

この質問を短くしようと思います。基本的に、私はシェルスクリプトに取り組んでおり、「抽出」してシェルスクリプトの変数に入れようとしている整数値を含む .plist ファイルがあります。

.plist ファイルの内容を数行に絞り込むことはできますが、まだ必要のない文字が大量に含まれています。

シェルスクリプトで次のコマンドを実行/実行していますが、次の結果が得られます。

  file_refine=`grep -C 2 CFBundleVersion $file | grep '[0-9]\{3\}'`

出力

  <string>645</string>

文字列タグではなく数字が必要なだけですが、それがわからないようです。

4

1 に答える 1

5

これを試して

file_refine=$(grep -C 2 CFBundleVersion $file | grep -o '[0-9]\{3\}')

grep man ページの -o オプション:

 -o, --only-matching
              Print  only  the matched (non-empty) parts of a matching line, with
              each such part on a separate output line.
于 2012-12-29T01:09:16.553 に答える