環境変数の文字列を置換
相棒と仕事でLinux上でゴソゴソしてたら、「環境変数の文字列に改行が入っているものをカンマに置換したい。」という事になって、「あれっ?なんかコマンドで簡単にできそうな…」と思ったのですが、すぐには思いつかなかったので、「思いつかないなら、勉強がてら得意のRubyで作っちゃえば?」と提案し、「よし、なら俺は頭の体操がてらCで作るぞ。競争だw」みたいな流れになったので、私の方は「10分以内」という足かせをつけて書いてみました。
【要件】
[list]
みたいなファイルがあり、これを
$ export hoge=`cat list`
$ echo "$hoge"
abc
def
ghi
みたいな感じで環境変数に入れて、改行付き環境変数があったとして、これを
「abc,def,ghi」
みたいに改行を置換して一行にしたい。
…で、作りました。
[alter_env.cc]
【実行】
$ ./alter_env hoge "\n" ","
abc,def,ghi
$ ./alter_env hoge ghi ABC
abc
def
ABC
みたいな~。ズギャギャ!
「後は、出力を再度環境変数にでも突っ込めば?」みたいな事を言って、残りの作業は相棒に任せました。
ちなみに相棒にこのソースを見せてRubyで作らせたら、このコードの1/4以下位で書きやがりました。恐るべし。
超高級言語マンセー! というか、「やっぱり私がコードなんか書く時代なんかじゃないな。ゲームばっかりやっているオバカさんだし!」と。w
[list]
abc def ghi |
みたいなファイルがあり、これを
$ export hoge=`cat list`
$ echo "$hoge"
abc
def
ghi
みたいな感じで環境変数に入れて、改行付き環境変数があったとして、これを
「abc,def,ghi」
みたいに改行を置換して一行にしたい。
…で、作りました。
[alter_env.cc]
|
【実行】
$ ./alter_env hoge "\n" ","
abc,def,ghi
$ ./alter_env hoge ghi ABC
abc
def
ABC
みたいな~。ズギャギャ!
「後は、出力を再度環境変数にでも突っ込めば?」みたいな事を言って、残りの作業は相棒に任せました。
ちなみに相棒にこのソースを見せてRubyで作らせたら、このコードの1/4以下位で書きやがりました。恐るべし。
超高級言語マンセー! というか、「やっぱり私がコードなんか書く時代なんかじゃないな。ゲームばっかりやっているオバカさんだし!」と。w
コメント
コメントの投稿
« 久々に「懐かし横丁」へ l Home l 昔のゲームの想い出 [0186] 「スタージャッカー」 [セガ] [1983] [アーケード] »