アカウント名:
パスワード:
若いシステム管理者がサーバメンテナンスのスクリプトを書いていたので肩越しに覗いてみましたよ。
テキストエディタ(Windowsの)の機能をフルに活用し、大量のコマンドをコピペコピペ、置換置換…というように並べて作ってましたね。
萎えた。
そこは、あーしてこーして、awkをちょちょいと振りかければ10行で書けるだろ?その方が作るのも早いし簡単。
せめてエディタはviでやったほうが、編集も早いよ。マウスでドラッグして選択とかやってられんだろ。
というわけで、プログラムとまでは行かないにしろ、スクリプト言語くらいはシステム管理者は使えた方がいいと思う。
シェルスクリプトを書けるか書けないかで、仕事の効率は10倍くらい違うことも。ていか、シェルスクリプトも書けないのにシステム管理者をさせてるのが悪い。
Windowsサーバの管理者も、Power Shellとか使えたほうがいいんじゃないかな。
今時の若造はawkなんて知ってるはずありませんよ勧めるならRubyぐらいにしとかないと年寄り扱いされます#ターミナルやキーボードの仕様の相違をアプリケーション側で吸収しなければならなかった時代じゃないんだからviはもう卒業してくれ
個人的にはRubyを勧めたい気持ちはよく解るんだけど、そうできない事情もあるんだよ。と言うのは、UNIX系で、Rubyがインストールされていない環境があるから。そう言う環境でも、awkが入っていないことはまず無い。インストールされてなきゃ、入れればいいじゃないか、ってのも甘い。ポリシ・規約でインストールできない場合があるから。自宅サーバじゃなくて、仕事だからね。
起動コマンド名を変えて提供されている場合が多いでしょうから、その場合はお目こぼししてもいいと思う。← Cygwin 標準のviコマンドとか
// ksh由来の 'set -o vi' と正反対の設定については宗教戦争モノなのかなあ?
職場の手順書にset -o viが記載されてて笑ったことはある。
Perlにawkスクリプトを流せばいい
# だめだ、つまらん
viかどうかはともかく、マウスはだめでしょう。キーボードからマウスに手を持って行く、その移動距離が無駄。
「ターミナルやキーボードの仕様の相違をアプリケーション側で吸収しなければならなかった時代」よりもずっと現代は進んでいるはずなのに、マウスなんていう、キーボードから離れたところに置かないといけないデバイスがいまだにのさばっています。
マウスだけでほとんど用件が済んでしまうような、ウェブ閲覧だけのエンドユーザーならともかく、システム管理者がそれじゃあ話になりません。
トラックポイントやタッチパッド(親指で操作)なら、まだいいけど。
テンキーレスキーボードすら知らない情弱が適当な事を書くなよ。
まあ、さすがにawkはないわな・・・。viの悪口は許さないけど。
これがね、なかなか、awkが必要な時があるんですよ。RubyどころかPerlも入ってない。ネットにはつながってない(外部と隔離されている)のでインストールもできない。けれど、複雑な文字列操作をやるスクリプトを書かなきゃいけない。
そんなときにawkが役に立ちます。
UNIX系のシステムなら、OSに標準装備のスクリプトを動かすためにawkは必ず入っているので、そんな時でも大丈夫なんです。
Rubyがーとかいってるシステム管理者は、たくさんありふれているありきたりなLinuxサーバとか管理しているだけの人じゃないかな。そんな恵まれている楽なサーバだけじゃないんだよね、世の中。
バイナリファイルが扱えない、16進数が扱いにくい、という欠点はありますが、おおむねAWKで満足してますね。C ライクに書けて可読性を高めることが可能な点は評価してますしwinでもgawk.exe一つ持ち歩けば済むし。
まあ可読性に関しては、正規表現そのものや、正規表現がからむ『作ったときに「ああこんな例外があったか・・・」と ちまちまちまちま対応した部分』あたりは一月もたつと「なんだこれ」になりますが、それはどんな言語でも同じだと。
shとfindとgrepとsedとawkとmakeとcppとm4とあといくつかのフィルタコマンドで出来ないことに遭遇したことがないので、いまだにperlも書けないよ。python、ruby、phpあたりはコードを見たこともない。
>shとfindとgrepとsedとawkとmakeとcppとm4UNIXのバッドノウハウの塊だなログ中のURLエンコードされたURLをデコードするとか、メール中のマルチバイト名の添付ファイルをその名前で書きだすとか、これらでサクッとできるかな?
いくつかのフィルタコマンドの組み合わせでできるよ。たとえばnkf。
URIエンコードecho $* | nkf -eMQ | tr = %
URIデコードecho $* | tr % = | nkf -emQ
nkfは、MIME base64も対応しているね。
grepとsedで該当箇所を抜き出してパイプ処理すれば、ほら簡単。
>#ターミナルやキーボードの仕様の相違をアプリケーション側で>吸収しなければならなかった時代じゃないんだからviはもう卒業してくれ
これ、中より下くらいのシステム管理者が勘違いしやすいところだけど、viは低機能で基本的なエディタで、大抵のUNIX系環境に標準で入ってるから使えって言われていると思っている?
確かにそういう面もあるけれど、それだけじゃない。viのコマンドを駆使すると、すごく効率よくスクリプトやテキスト編集ができるんだよ。そこらのテキストエディタと比べても、かなり高機能多機能な
確かに知らない人が多くて驚いたことはあった
集計処理とか簡単にできることを教えると喜ばれたよ。もちろんRubyやPerlでも出来るけど、ちょっと数行で集計できるのは便利だからね。
あとRubyって結構遅い。さらにオブジェクト指向しかやったことがない人がプログラムを作ると、メモリを使い尽くして遅いプログラムが出来上がったりするしね。
>> 時代じゃないんだからviはもう卒業してくれ
いまどき、ふつーはvimでしょう。古いSolarisでterminal too wideとか言われると仕事する気が失せる。
>勧めるならRubyぐらいにしとかないと年寄り扱いされます
Solaris2.8 の時代までに標準化・事実上の標準化されなかったものはダメだ。標準的な環境に入っておらん。#そういう意味ではGNUtar,BSDtarですらだめだ。gzipはぎりぎりセーフ。bzip2はアウト。lessもアウト。vim? 論外
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
弘法筆を選ばず、アレゲはキーボードを選ぶ -- アレゲ研究家
システム管理者プログラミング (スコア:1)
若いシステム管理者がサーバメンテナンスのスクリプトを書いていたので
肩越しに覗いてみましたよ。
テキストエディタ(Windowsの)の機能をフルに活用し、大量のコマンドを
コピペコピペ、置換置換…というように並べて作ってましたね。
萎えた。
そこは、あーしてこーして、awkをちょちょいと振りかければ10行で書けるだろ?
その方が作るのも早いし簡単。
せめてエディタはviでやったほうが、編集も早いよ。
マウスでドラッグして選択とかやってられんだろ。
というわけで、プログラムとまでは行かないにしろ、スクリプト言語くらいは
システム管理者は使えた方がいいと思う。
シェルスクリプトを書けるか書けないかで、仕事の効率は10倍くらい違うことも。
ていか、シェルスクリプトも書けないのにシステム管理者をさせてるのが悪い。
Windowsサーバの管理者も、Power Shellとか使えたほうがいいんじゃないかな。
Re:システム管理者プログラミング (スコア:1)
今時の若造はawkなんて知ってるはずありませんよ
勧めるならRubyぐらいにしとかないと年寄り扱いされます
#ターミナルやキーボードの仕様の相違をアプリケーション側で吸収しなければならなかった時代じゃないんだからviはもう卒業してくれ
Re:システム管理者プログラミング (スコア:3, すばらしい洞察)
個人的にはRubyを勧めたい気持ちはよく解るんだけど、そうできない事情もあるんだよ。
と言うのは、UNIX系で、Rubyがインストールされていない環境があるから。そう言う環境でも、awkが入っていないことはまず無い。
インストールされてなきゃ、入れればいいじゃないか、ってのも甘い。ポリシ・規約でインストールできない場合があるから。
自宅サーバじゃなくて、仕事だからね。
Re:システム管理者プログラミング (スコア:2)
Re:システム管理者プログラミング (スコア:1)
起動コマンド名を変えて提供されている場合が多いでしょうから、その場合はお目こぼししてもいいと思う。← Cygwin 標準のviコマンドとか
// ksh由来の 'set -o vi' と正反対の設定については宗教戦争モノなのかなあ?
Re: (スコア:0)
// ksh由来の 'set -o vi' と正反対の設定については宗教戦争モノなのかなあ?
職場の手順書にset -o viが記載されてて笑ったことはある。
Re: (スコア:0)
Perlにawkスクリプトを流せばいい
# だめだ、つまらん
Re:システム管理者プログラミング (スコア:1)
viかどうかはともかく、マウスはだめでしょう。キーボードからマウスに手を持って行く、その移動距離が無駄。
「ターミナルやキーボードの仕様の相違をアプリケーション側で吸収しなければならなかった時代」よりも
ずっと現代は進んでいるはずなのに、マウスなんていう、キーボードから離れたところに置かないといけない
デバイスがいまだにのさばっています。
マウスだけでほとんど用件が済んでしまうような、ウェブ閲覧だけのエンドユーザーならともかく、
システム管理者がそれじゃあ話になりません。
トラックポイントやタッチパッド(親指で操作)なら、まだいいけど。
Re: (スコア:0)
テンキーレスキーボードすら知らない情弱が適当な事を書くなよ。
Re: (スコア:0)
まあ、さすがにawkはないわな・・・。
viの悪口は許さないけど。
Re:システム管理者プログラミング (スコア:1)
これがね、なかなか、awkが必要な時があるんですよ。
RubyどころかPerlも入ってない。
ネットにはつながってない(外部と隔離されている)ので
インストールもできない。
けれど、複雑な文字列操作をやるスクリプトを書かなきゃいけない。
そんなときにawkが役に立ちます。
UNIX系のシステムなら、OSに標準装備のスクリプトを動かすために
awkは必ず入っているので、そんな時でも大丈夫なんです。
Rubyがーとかいってるシステム管理者は、たくさんありふれている
ありきたりなLinuxサーバとか管理しているだけの人じゃないかな。
そんな恵まれている楽なサーバだけじゃないんだよね、世の中。
Re: (スコア:0)
バイナリファイルが扱えない、16進数が扱いにくい、という欠点はありますが、
おおむねAWKで満足してますね。C ライクに書けて可読性を高めることが
可能な点は評価してますしwinでもgawk.exe一つ持ち歩けば済むし。
まあ可読性に関しては、正規表現そのものや、正規表現がからむ
『作ったときに「ああこんな例外があったか・・・」と ちまちまちまちま対応した部分』
あたりは一月もたつと「なんだこれ」になりますが、それはどんな言語でも同じだと。
Re: (スコア:0)
shとfindとgrepとsedとawkとmakeとcppとm4とあといくつかのフィルタコマンドで出来ないことに遭遇したことがないので、いまだにperlも書けないよ。
python、ruby、phpあたりはコードを見たこともない。
Re: (スコア:0)
>shとfindとgrepとsedとawkとmakeとcppとm4
UNIXのバッドノウハウの塊だな
ログ中のURLエンコードされたURLをデコードするとか、メール中のマルチバイト名の添付ファイルをその名前で書きだすとか、これらでサクッとできるかな?
Re: (スコア:0)
いくつかのフィルタコマンドの組み合わせでできるよ。たとえばnkf。
URIエンコード
echo $* | nkf -eMQ | tr = %
URIデコード
echo $* | tr % = | nkf -emQ
nkfは、MIME base64も対応しているね。
grepとsedで該当箇所を抜き出してパイプ処理すれば、ほら簡単。
Re: (スコア:0)
>#ターミナルやキーボードの仕様の相違をアプリケーション側で
>吸収しなければならなかった時代じゃないんだからviはもう卒業してくれ
これ、中より下くらいのシステム管理者が勘違いしやすいところだけど、
viは低機能で基本的なエディタで、大抵のUNIX系環境に標準で入ってるから
使えって言われていると思っている?
確かにそういう面もあるけれど、それだけじゃない。
viのコマンドを駆使すると、すごく効率よくスクリプトやテキスト編集が
できるんだよ。
そこらのテキストエディタと比べても、かなり高機能多機能な
Re: (スコア:0)
Re: (スコア:0)
確かに知らない人が多くて驚いたことはあった
集計処理とか簡単にできることを教えると喜ばれたよ。
もちろんRubyやPerlでも出来るけど、ちょっと数行で集計できるのは便利だからね。
あとRubyって結構遅い。
さらにオブジェクト指向しかやったことがない人がプログラムを作ると、メモリを使い尽くして遅いプログラムが出来上がったりするしね。
Re: (スコア:0)
>> 時代じゃないんだからviはもう卒業してくれ
いまどき、ふつーはvimでしょう。
古いSolarisでterminal too wideとか言われると仕事する気が失せる。
Re: (スコア:0)
>勧めるならRubyぐらいにしとかないと年寄り扱いされます
Solaris2.8 の時代までに標準化・事実上の標準化されなかったものはダメだ。
標準的な環境に入っておらん。
#そういう意味ではGNUtar,BSDtarですらだめだ。gzipはぎりぎりセーフ。bzip2はアウト。lessもアウト。vim? 論外