数学演算を使用して文字列を置き換える方法

数学演算を使用して文字列を置き換える方法

gcode 파일이 있는데 Z의 모든 값에서 101.54를 빼야 합니다. 형식은[Z]:[0-9]*.[0-9]*

sed이 작업을 수행하려면 다른 Linux 도구를 어떻게 사용합니까 ?

좋아요: Z:101.6결국 로 변경됩니다 Z:0.06.

미리 감사드립니다

ベストアンサー1

$ echo "Z:101.6" | perl -p -e 's/Z:(\d+(?:\.\d+)?)/sprintf("Z:%.2f",$1-101.54)/eg'
Z:0.06

이는 Perl의 /e정규식 수정자를 사용하여 연산자 오른쪽의 표현식을 평가합니다 s///. 나중에 정수와 부동 소수점을 처리 Z:하고 대체합니다.모두入力行のどこでも見つかったパターンと一致します。

おすすめ記事