前置き IPv6アドレスを扱う場合、その表記は極力短くなるよう省略が行われます。例えば2001:08db:0000:0000:0000:0000:0012:3456というアドレスは2001:8db::12:3456になるといった具合です。先頭の0を省略する、程度だったら切り出すのも簡単なのですが、コロン区切りのフィールドの数が省略によって可変になるというのが厄介です。 起動時に実行されるinitスクリプトの中でNICの初期化でIPv6アドレスを扱うとなった場合、その表記の柔軟性によりそのままだとシェルスクリプトでプレフィックスを切り出して加工するなどといった操作が難しいので、省略した部分を復元するようなシェルスクリプトを書きました。 すること IPv6アドレスは128bitあるものを16bit毎に区切ってコロンで区切ることにより8個のフィールドで表記される。省略することによってフィールドが
![IPv6アドレスをシェルスクリプトで扱いやすくするための小物 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/0392fd49bf5122ee02c82ba0cf3faea1518a540f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9SVB2NiVFMyU4MiVBMiVFMyU4MyU4OSVFMyU4MyVBQyVFMyU4MiVCOSVFMyU4MiU5MiVFMyU4MiVCNyVFMyU4MiVBNyVFMyU4MyVBQiVFMyU4MiVCOSVFMyU4MiVBRiVFMyU4MyVBQSVFMyU4MyU5NyVFMyU4MyU4OCVFMyU4MSVBNyVFNiU4OSVCMSVFMyU4MSU4NCVFMyU4MiU4NCVFMyU4MSU5OSVFMyU4MSU4RiVFMyU4MSU5OSVFMyU4MiU4QiVFMyU4MSU5RiVFMyU4MiU4MSVFMyU4MSVBRSVFNSVCMCU4RiVFNyU4OSVBOSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9Y2M3Zjg4M2U5ZWE5YTFjMzZjMGVkZDlkN2E4MTJjYmY%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBvYnNvbGV0ZS1zdGFuZGFyZCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9Zjc4YzhmNmEwY2RlNWI2MmQ3YzNkODhlNzZlYTE5MDM%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D849d1f12166263be0e9318366c38a9bd)