sedはワイルドカードに置き換えるために使用されます。

sedはワイルドカードに置き換えるために使用されます。

私の言葉はファイルの行をmydata.txt変更することです。

<time="0.*" name="file000.txt"/>

そして

<time="0,*" name="file000.txt"/>

「0時デジタルモノ"は"カンマゼロ"に置き換える必要があります。同じものそして、ファイル名のドットを変更する必要はありません。

sed2つの項目の違いを検出できますが(最初の項目は一致しますが、2番目の項目は一致しません)、代替文字列を保持する0\.[0-9]方法がわかりません。sed同じもの(何でもマッチ)

sed -e 's/0\.[0-9]/0\,?/g' mydata.txt

?この表現では代わりに何を使うべきですか?

答え1

値をレジスタに入れて、次のようにそこから復元します。

sed -e 's/0\.\([0-9]\)/0\,\1/g' mydata.txt

答え2

見つけました。人々は次のことをしなければなりません。

  1. \(...\)検索文字列で一致させる内容を囲むには、エスケープされた括弧ペアを使用します。式には最大9つの一致を使用できます。

  2. \n代替文字列で一致する文字列を再利用するために使用されます。はnと との間の数字で、上記の数字に対応します。19

これは

sed -e 's/0\.\([0-9]\)/0\,\1/g' mydata.txt

関連情報