No.2ベストアンサー
- 回答日時:
\ が足りないからです.
`...` では \ をエスケープするのに \\ としなければなりません. こんな感じ:
#!/usr/bin/perl
$x = `sed -n 's/a\\(X\\)b/\\1/p' test.txt`;
print $x;
なるほど!わかりました!
`...`は...を「そのまま」シェルに渡すと思いこんでいたのですが、私の解釈する「そのまま」とPerlが解釈する「そのまま」が違っていたのですね。
以下の例で納得できました。
ありがとうございました。
#!/usr/bin/perl
$z="sed -n 's/a\(X\)b/\1/p' test.txt";
$zz="sed -n 's/a\\(X\\)b/\\1/p' test.txt";
$zzz='sed -n \'s/a\(X\)b/\1/p\' test.txt';
$x=`$z`;
$xx=`$zz`;
$xxx=`$zzz`;
print "\$z = $z\n";
print "\$zz = $zz\n";
print "\$zzz = $zzz\n";
print "\$x = $x\n";
print "\$xx = $xx\n";
print "\$xxx = $xxx\n";
No.1
- 回答日時:
`ls`を評価(実行)するが、標準出力は破棄されるハズ。
ご回答ありがとうございます。
必ず破棄されるという決まりなら納得なのですが、さらにこまったことに、
$cat test.txt
aXb
のもとで、
sed -n 's/a\(X\)b/\1/p' test.txt
では
X
と表示されるのに、
$cat test.pl
#!/usr/bin/perl
$x=`sed -n 's/a\(X\)b/\1/p' test.txt`;
print $x;
$ ./test.pl
では何も表示されないというのは何故だ?
という疑問が新たに沸いてまいりまして。。。
なぜ上のlsの場合は$yに代入できて、この場合は$xに代入できないなどということが起こり得るのでしょうか?
この振舞いはどうやって説明されるのか御存じの方がおられましたら、ご教授下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HELOコマンドが失敗する。
-
`rsh ホスト -l root /bin/echo...
-
例外処理のフローチャートの記...
-
Excel VBAで、ユーザーフォーム...
-
Excel VBAでリンク切れをチェッ...
-
erf(x)とerfc(x)のカタカナ読み...
-
Excel VBA 『Call』で呼び出す...
-
ユーザー定義関数に#NAME?が返...
-
Excel VBA 定義されたプロージ...
-
w3cの検証エラー?
-
Excel VBAで、ユーザーフォー...
-
グラフのX,Y座標を取得したい
-
本当にPublicな変数(配列で)
-
モジュールの最大数はいくつな...
-
【vba】フォームに書いてあ...
-
vba 標準モジュールインポート...
-
VBAProjectのモジュ...
-
acwzlibとは?
-
シャープ製品JH-WB1821 と BCG...
-
教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
AIX6でファイルのタイムスタン...
-
open MAILでの"|"
-
ハマったので助けて~。Apache...
-
実行中のcpan processを終了さ...
-
マルチスレッドとマルチプロセ...
-
Active Directoryでグループに...
-
Perlでpopen()的なものを使って...
-
Perlの処理待ちコマンド
-
時間がかかり過ぎたプロセスを...
-
Perlで日本語から始まり記号で...
-
並列処理について
-
HELOコマンドが失敗する。
-
LinuxにおいてのPerlのプログラ...
-
system関数とqx演算子の違いに...
-
perlスクリプト内でシェルコマ...
-
Perlでexitコードを取得する方法
-
スクリプトについて
-
perl から unix コマンドを入...
-
`rsh ホスト -l root /bin/echo...
-
system から得た情報を変数に入...
おすすめ情報