
次のような行を含むファイルがあります。
0
0.1
0.0002
0
0.30
この行を単一の0
内容(たとえば0.0001
、小数点と後ろに数字がある行)に置き換えたいと思います。
次のような変形を試しましたが、sed
何もしないか、小数点以下のゼロまですべてゼロに変更します。
sed 's/0/x/g' file
sed 's/^0/x/g' file
sed 's/0^/x/g' file
sed 's/^0^/x/g' file
sed 's/"0"/x/g' file
sed 's/[0]/x/g' file
sed
単一文字を処理できないようです0
。また、replace
そのコマンドは私のシステムには存在しません。また何ができますか?
答え1
連続して 1 つのゼロを置き換えるには、次のようにします。
sed 's/^0$/x/'
^ 行の先頭に一致します。
$ は行末と一致します。
したがって、上記のコマンドは行の先頭と一致し、その後にゼロが続いて行の終わりが一致します。
答え2
awkを使用してください:
awk '{gsub(/^0$/,0.0001)};1' file