• ベストアンサー

python、perlをbashのスクリプトに混在させて書く方法

perlからshellを呼ぶにはsystemなどの方法がありますが、1つのスクリプトの中に上記の3つないしは他のインタプリタ言語を混在させるように書く簡便な方法はありますか? もちろん、それぞれ別にスクリプトを作成しておいてそれを相互に呼び出して使うことはできるのですが、awkをシェル上で使う時のように、他のプログラムで数行で書ける内容を少しだけ使って、その場でパイプなりで値を受け渡ししたいです。 もとのスクリプトはbashが良いですが。他の2つでも構いません。 当方の環境はcygwinとあまり使っていないubuntuです。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4903/10364)
回答No.1

awk '{....}' のように書きたいということであれば、perl -e で、 perl -e 'print 1+2*3;' とかです。 awkのように、標準入力からファイルを読み込んで、行単位で処理したければ、 ls -l | perl -pe 'chop; $_ = "<$_>\n";' とか、 ls -l | perl -ne 'chop; print "<$_>\n";' とか。 -pe と -ne の違いは、最後に自動的に print $_; するかどうかです。awk的に使いたければ、-ne ですね。 コマンドラインオプションについては、入門書の初めの方に書いてあるかと思いますよ。

latifolius
質問者

お礼

ありがとうございます。うまくいきました。 コマンドとキーワードがわかればオプションなどは自分で調べられそうです。 なかなかこういう細かい小手先のことが見つからず(探し方が下手なのか?)、大変助かりました。

すると、全ての回答が全文表示されます。

関連するQ&A