2017-05-24 7 views
-1

私は次のテキストがあります。正規表現UNIXスイッチNUM

(took 1.22 seconds) 

は、正規表現を使用して時間に時間を交換する必要があります。 文字列を入力します。

(took TIME seconds) 

どうすればいいですか?

私は次のようなUnixのではスクリプトを使用しています:

's/user detected .*$/user detected USER/g' 
+0

どのプログラミング言語を使用していますか? – Mistalis

+0

unixのスクリプト:次のようなもの – Tehila

+0

の/ユーザーが検出されました* $/user detected user/g ' – Tehila

答えて

0

あなたは下のsedソリューションのいずれかを使用することができます:online demo

パターンの意味を参照してください

s='took 1.22 seconds' 
echo $s | sed 's/ [0-9]*\.\?[0-9]\{2\}/TIME /g' 
echo $s | sed -E 's/[0-9]*\.?[0-9]{2}/TIME/g' 
echo $s | sed -E 's/\b[0-9]*\.?[0-9]{2}\b/TIME/g' 

  • [0-9]* - ゼロ以上の数字
  • \.?から1または0点
  • [0-9]{2}
  • - 2桁の数字
  • \b - ワード境界。