grep抽出の質問です。

あるテキストに、
質量:120mg
という文字列が含まれています。1日おきに数字部分が変わるので、その数字だけを抽出していきたいです。数字の範囲は0~999です
grep -o '[0-9]*'
だと他の関係ない数字も出てくるので、前後の「質量:」「mg」を使って数値を抽出する構文をお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2011/07/21 19:20:37
  • 終了:2011/07/21 20:12:16

ベストアンサー

id:nattow No.2

nattow回答回数102ベストアンサー獲得回数272011/07/21 20:08:09

ポイント99pt

日本語の問題については、対象テキストの文字コードとgrepを実行している端末の入力文字コードをご確認ください。

コマンドについては、grep を二回かければ数値だけ取れそうです。

grep -o '質量:[0-9]*mg' | grep -o [0-9]*
id:loveinyou1989

頭がかたかった自分を思い知らされました。

ありがとうございました。

2011/07/21 20:11:38

その他の回答(1件)

id:taknt No.1

きゃづみぃ回答回数13537ベストアンサー獲得回数11982011/07/21 19:35:24

ポイント1pt

grep -o '質量:[0-9]*mg'

では いかがでしょうか?

id:loveinyou1989

全角文字を入れた場合に何故か何も抽出されなくなります。

というか、それ以前にそれだと抽出できたとしも数字だけになりません。

2011/07/21 19:41:09
id:nattow No.2

nattow回答回数102ベストアンサー獲得回数272011/07/21 20:08:09ここでベストアンサー

ポイント99pt

日本語の問題については、対象テキストの文字コードとgrepを実行している端末の入力文字コードをご確認ください。

コマンドについては、grep を二回かければ数値だけ取れそうです。

grep -o '質量:[0-9]*mg' | grep -o [0-9]*
id:loveinyou1989

頭がかたかった自分を思い知らされました。

ありがとうございました。

2011/07/21 20:11:38

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません