読者です 読者をやめる 読者になる 読者になる

座敷牢日誌

都落ちした元SEがソフトウェアやネット関連のことを書いています

どこかで見かけたひどいコード

昔、どこかで日次で実行するスクリプトでこんなコードを見たことがあった。

cat filename |sed s///g|sed s///g|sed s///g ... (延々とsedのパイプが続く)

さて、これは一体なにをしているのか。

どのエディタで開いたか忘れてしまったけど、実態は「sed s/印字不能な制御文字//g」だった。要するに取り込むときに問題になりそうな文字を除去しているのだと。現場のリーダーさんが「telnetでサーバに入ってviで開かないと編集できないんだよー」とぼやいていた。

ここでいう制御文字はいわゆる改行コードだとかのことで、大抵のエディタで改行コードくらいは表示できるが、ふつう文字として扱うときには「\n」などとして表現する。

sedを延々とパイプするのもどうかと。他にやりようはいくらでもあると思うけど、実際の現場だとこういうコードをいくらでも見つけることができる。

「ちゃんと動けばええねん」

でも、直せないんだろ。

広告を非表示にする