シェルスクリプトでsubstrみたいなこと
シェルスクリプトを自発的に書くことはあまりありませんが、既存のシェルスクリプトをメンテする事はよくあります。
普段あまり書かないだけに「あ・・あれシェルだとどうやるんだったっけ(また忘れた・・)」みたいなことになりがちです。そのうちのひとつが「substrみたいなことってどうやるんだっけ?」とかそういうごく基本的な事だったりして。
毎回、調べたあとで「ああー、そうだった、そうだった!」というのを繰り返している自分がとても悔しいです。
#!/bin/sh str="1234567890" result=`echo $str | cut -c 3-7` echo $result 実行結果 34567
追記(2009/07/15):
コメントで教えていただいたやり方です。こちらの方がsubstrっぽいですね。
str="1234567890" echo ${str:2:5}
そのまま転載というのもということで少しだけ調べたところ、上記の書き方はsh、bashではいけますが、kshはシンタックスエラーになるようですね。(確認した環境はCentOS4.5です)