IPアドレスにネットワークマスクを適用する一般的な場合:

IPアドレスにネットワークマスクを適用する一般的な場合:

私の文字列(IPアドレス)には次のパターンがあります。

123.444.888.235

0ドットの後の最後の数字を次のように変更したいと思います。

123.444.888.0

bashシェルスクリプトや他の言語を使用してこれを行うにはどうすればよいですか?

ベストアンサー1

POSIXシェルでは:

var=123.444.888.235
new_var="${var%.*}.0"

${var%pattern}kshは1980年代に導入された演算子で、shPOSIXで標準言語に標準化されており、現在はbash

${var%pattern}$var最短一致文字列の内容をストリップに拡張模様終わりを離れる(または$varそのように模様不一致)。だから${var%.*}(どこ.*模様つまり、ドットの後に任意の数の文字が続く場合)は、右端のポイントを超えて$var拡張されません.。対照的${var%%.*}に、最長削除されたパターンに一致する文字列は、左端以降の内容が $varないように拡張されます。.

おすすめ記事