水面下の夢

競プロやイラストに興味があります.メインブログがここ.同人サークル「かのらぶ」のページはこっち( https://yumechi0525.amebaownd.com ).ブログアイコンはYaQ(@8_9_00)さんから.

単純な文字列置換ならsedで事足りた

Pythonで記事を書こうと思ったけど、はい。

あるファイルに含まれる文字列httpをhttpsに変えようと思った。結論はsedを使えばいい。ただ、私が考えたフロートしては、

  1. pyhtonでファイル開いて文字列を置き換えて保存すればいいか
  2. でもわざわざpython書かなくても、vimで開いて文字列置換で良くない?文字列も長いわけじゃないし
  3. vimで開くのもめんどくさいし、コマンドラインからvimでゴニョゴニョすればいいのでは
  4. sedってコマンドあるわ…これだわ…

と長い過程を踏んでしまった。つまり、

sed -i -e 's/http/https/g' source.txt

を最終的には書いて、中身を確認した。

この話、何が言いたいかといえば、効率よく目的を達成するためのツールは知っておくと得をするということ。

おそらく今回の場合ではsedで書くよりも短くなるパターンは無いだろうけど、1、2の段階では特に何か短くする方法を考えないといけない。 が、普段から1つの方法ばかりやっている人だと、見えてこないかもしれない(私もココで思考停止してしまう場合もある)

今回はたまたま「そういえばこんなのがあったような…」と思い出せたから良かったが、もし1の方法を取っていたらデバッグ含めて結構時間がかかったと思う(ぱぱっと書くけど、バグらせないとは言い切れない)

というわけで、いつも意識していることだけれども、自分がよく使う道具は使い込んでおくことが大事である。

言語であればライブラリとかフレームワークの存在を知っておくとか、標準の書き方をよく知っておくとか。

普段から勉強することは大切ですねえ(白目