Bashの文字数取得や文字列の切り出し等、編集方法まとめ。composer音楽と絵と本とガジェットと。リンク&お問い合わせホームTECHNOLOGYLinux/UnixLinux操作。Bashの文字数取得や文字列の切り出し等、編集方法まとめ。Linux/Unixbanba929Linux操作。Bashの文字数取得や文字列の切り出し等、編集方法まとめ。ツイートシェアGoogle+はてブPocketスポンサーリンク少し記述が減らせるかもしれません。composer」(@a_composer_info)をお読みいただきありがとうございます。banba(@banba929)です。最近はずっとシェルスクリプトで色々しています。大量のファイル操作などを行う際にGUIでやると数年かかるような作業もシェルスクリプトが書ければ数十分で終わってしまうことも少なくありません。テキストファイルを操作する場面が多いのですが、色々便利な小技?みたいなのを見つけたので共有したいと思います。今回備忘録がてら記事にするのは「変数に入れた文字列の文字数カウント」と「変数に入れた文字列の切り出し」です。変数に入れた文字数の文字数カウント大量のテキストファイルを編集する際、文字列をカウントして処理を行うという動作をたびたび行うことがありました。以前は”echo”コマンドと”wc”コマンドを用い、文字列の文字数カウントを行なっていました。“echo”コマンドはオプションで”-n”をつけることにより改行コードを付属しなくなり、”wc”コマンドはオプションとして”-m”をつけることで文字数のカウントとなります。これでも問題なくカウントすることは行えるのですが、長い。基本的に記述は少なく済ませたいところです。${#変数名}で文字数カウントを行える最近知ったのですが、文字数のカウントは${#変数名}だけで行えるようです。結果が同じなのが確認できるかと思います。こちらの方が余分な変数を使用しなくて済みますし、短くなります。使用するコマンドも多少減らすことができるので、大量のファイル操作だとパフォーマンスも多少変わるんですかね?変数に入れた文字列の切り出し次にこちらです。変数に入れた文字列の切り出し。「最初の2文字の”12′′だけ取り出したい」といった場合や、「途中の3文字目から5文字目までを取り出したい」など、文字列の一部抜き出しを行いたい場面は多々見受けられるかと思います。以前は、先ほどの”echo”コマンドから”cut”コマンドに渡すことでそれを行なってきました。”cut”コマンドにオプションとして”-c”をつけ、[取得開始文字数]-[取得終了文字数]を記述することで文字列の切り出しが可能になります。問題なく行えますが、もっと少ない記述で行えます。${変数名:開始文字位置:取得したい文字数}これだけで行えます。先ほどと同じ文字を取得する場合だとこういった記述になります。