![]() |
|
|
Googleのunix.com
|
|||||||
| シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| 正規表現ヘルプ-のPERL | maxmave | UNIXのダミー質問と回答のため | 1 | 2008年6月4日 01:15午後 |
| 正規表現 | jack1981 | シェルプログラミングとスクリプティング | 4 | 2006年7月12日 04:10午後 |
| 正規表現 | sandeep_hi | シェルプログラミングとスクリプティング | 6 | 2006年6月12日 03:12午前 |
| Perlの正規表現... | DrRo183 | シェルプログラミングとスクリプティング | 1 | 2006年4月26日 10:28午後 |
| で正規表現を削除するsed | mfreemantle | UNIXのダミー質問と回答のため | 3 | 2002年2月11日 09:34午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 | スレッドを評価 | 表示モード |
|
|
|
||||
|
正規表現ヘルプ-のPERL
こんにちは、 コード:
$line=USING (FILE '/TEST1/FILENAME'5000) 私'との間の値にreterive )は、 5000はここにします。 私は以下の式を試している... タイプ1 : $ Var1 \u003d `セッド - e 'を秒/ .* \ ' / / ' - e 'を\ ).*$/' $ライン` ; タイプ2 : $ Var1 \u003d ` | awkは- F "を\ 'ライン$エコー" ' ( ) ' $ 2を印刷する| awkは- F "を\ \ ) " ' ( ) $ 1を印刷' ` ; タイプ3 : $ Var1 \u003d ` $エコーライン| セッド ' / .* \ ' / / ' | セッド ' / \ ).*$//'`; タイプ4 : $ Var1 \u003d ` $エコーライン| セッド ' / .* \ ' / / ' | セッド ' / \ )$//'`; タイプ5 : $ Var1 \u003d ` $エコーライン| セッド ' / .*ファイル/ / ' | セッド '秒/閉会.*$//'`; タイプ6 : $ Var1 \u003d ` $エコーライン| セッド ' / " / / gの' | セッド ' / \ ) / / gの' | awkは- F "を\ ' " ' ( ) $ 2を印刷' ` ; タイプ7 : $ Var1 \u003d `セッド ' / .* ' \ ( .* \ )).*/ \ 1 / ' $ライン` ; しかし何も、私はいつも午前、エラーとなって取り組んでいること コード:
sh: -c: line 0: syntax error near unexpected token `('
すべてのご意見参考になります ありがとう Rahul Yogesh Sawantの編集最終更新、 2008年6月5日に 04:56午前..理由:コードのタグを追加 |
|
||||
|
また、最終的には、 Perlの: コード:
if ($line =~ m/'(\d+)\)/) { $Var1=$1 }
あなたの構文エラーが発生していた理由は、バックで Perlの ドキュメント"をダブルquotish "と呼ぶの拡大を受ける。基本的には、このしたい場合は、バックスラッシュは、シェルには、 2倍にする必要がありますが渡されるための手段のため Perlの はバックスラッシュを1つ上のレベルを解析。また、価値の $ライン で補間されている Perlのので、シェルはリテラル値を見 使用エコー(ファイル' / TEST1/FILENAME '5000 ) なく、任意の言葉を引用し、丸括弧が複数発生します。この場合、適切な引用を回避することができますが、もちろん、ささいな文字列操作、 Perlの それ自体は実際のほうが、シェルよりも適しています。 |
![]() |
| ブックマーク |
| タグ |
| 正規表現、 正規表現 |
| スレッドツール | このスレッドを検索 |
| 表示モード | このスレッド |
|
|