The UNIX and Linux Forums  

Go Back   UNIXおよびLinuxフォーラム > トップフォーラム > シェルプログラミングとスクリプティング
Googleのunix.com



シェルプログラミングとスクリプティング KSH 、 CSH 、 shに、 bashの、はPerl 、 PHPは、削除するsed 、 Awkの、他のシェルスクリプトやシェルスクリプト言語についての質問の投稿はこちら。

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
正規表現[ ^ ] iengca シェルプログラミングとスクリプティング 9 2008年6月18日 10:45午前
必要なのは正規表現 tony3101 シェルプログラミングとスクリプティング 4 2008年6月5日 04:13午前
Awkの正規表現と nickg UNIXのダミー質問と回答のため 2 2007年8月16日 06:23午後
正規表現 edog UNIXのダミー質問と回答のため 5 2003年12月4日 02:58午後
正規表現+ Aritmetical式 Z0mby シェルプログラミングとスクリプティング 2 2002年5月21日 11:59午前

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek を搭載 Powered by Google
 
LinkBack スレッドツール このスレッドを検索 スレッドを評価 表示モード
  #1固定リンク)  
Old 2007年5月24日
ynixon ynixon is offline
登録ユーザー
  
 

参加日: 2007年3月
投稿: 57
いくつかのラインでの正規表現

私を識別するために正規表現を使用しようとしているだけでコマンドは、 "内の言葉は"表領域をしていません。コマンド"テーブルを作成する"で始まるで終わると、 (セミコロン)

サンプルファイル:

コード:
create table first tablespace ;
create table second
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
a tablespace af
);
create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table 
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

が一致する必要があります:

コード:
create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table 
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

ヘルプミー

編集ynixonで最終; 2007年5月24日に 12:02午後..
  #2固定リンク)  
Old 2007年5月24日
aigles's Avatar
aigles aigles is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2004年4月
場所:ボルドー、フランス
投稿数:1433
そのようなものを試すことができます:

コード:
awk '
   BEGIN { 
      RS=ORS=";\n"
   }
   /create/ && ! /tablespace/ {
      sub(/^\n*/, "");
      print
   }
    ' inputfile

ジャン\u003dピエール。
  #3固定リンク)  
Old 2007年5月24日
anbu23 anbu23 is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2006年3月
場所:バンガロール、インド
投稿数:1398

コード:
awk -v RS=";\n" -v ORS=";\n" ' !/tablespace/ ' filename

  #4固定リンク)  
Old 2007年5月24日
ynixon ynixon is offline
登録ユーザー
  
 

参加日: 2007年3月
投稿: 57
私だけはgrepを使うようにしたいのです
  #5固定リンク)  
Old 2007年5月24日
drl's Avatar
drl drl is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年4月
場所:サンパウロ、分アメリカ/ BSDのは、 CentOSのは、 Debianで、 OS X 、 Solarisの
投稿数: 717
やあ。

と思う。 はgrep ので、それぞれのコマンドを1行上に配置する必要がある改行交差することはありません。注記が私の男のページではgrepを使用する方法についてです perlの 正規表現が、それ密入国されています。その awkは および perlの スクリプトの設定レコードの境界を利用することができます。

ここでの perlの 急ごしらえ:

コード:
#!/bin/sh

# @(#) s1       Demonstrate perl quickie for unmatched string across lines.

FILE=${1-data1}

perl -wn -e 'BEGIN{$/=";"} print if not /tablespace/' $FILE

exit 0

そしてあなたのサンプルファイルに含まれてdata1に実行している:

コード:
% ./s1

create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

最高の願いを...歓声、 drl
  #6固定リンク)  
Old 2007年5月24日
ynixon ynixon is offline
登録ユーザー
  
 

参加日: 2007年3月
投稿: 57
引用:
当初の投稿 drl
やあ。

と思う。 はgrep ので、それぞれのコマンドを1行上に配置する必要がある改行交差することはありません。注記が私の男のページではgrepを使用する方法についてです perlの 正規表現が、それ密入国されています。その awkは および perlの スクリプトの設定レコードの境界を利用することができます。

ここでの perlの 急ごしらえ:

コード:
#!/bin/sh

# @(#) s1       Demonstrate perl quickie for unmatched string across lines.

FILE=${1-data1}

perl -wn -e 'BEGIN{$/=";"} print if not /tablespace/' $FILE

exit 0

そしてあなたのサンプルファイルに含まれてdata1に実行している:

コード:
% ./s1

create table third
(
  BBL_CUSTOMER_NAME      VARCHAR2(32),
);
create table
forth
(
  BBL_CUSTOMER_NAME      VARCHAR2(32) );

最高の願いを...歓声、 drl
清潔でシンプルな
  #7固定リンク)  
Old 2007年5月24日
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
モデレータ
  
 

参加日: 2005年2月
場所:ボストン、修士
投稿数:5131
引用:
当初の投稿 ynixon
私だけはgrepを使うようにしたいのです
なぜですか?
Closed Thread

ブックマーク

タグ
正規表現正規表現

スレッドツール このスレッドを検索
このスレッドを検索

高度な検索
表示モード このスレッド
このスレッド

投稿ルール
あなた ことができない。 新しいスレッドを投稿
あなた ことができない。 返信の投稿
あなた ことができない。 添付ファイルの投稿
あなた ことができない。 自分の投稿を編集

BBコード なる 〜の上に
スマイリー なる 〜の上に
[イメージ] コードは 〜の上に
HTMLコードは、 オフ
トラックバック なる 〜の上に
ピングバック なる 〜の上に
Refbacks なる 〜の上に




すべてGMT -4です。現在の時刻は 01:49午前


提供: vBulletin、著作権© 2000 - 2006、Jelsoft企業株式会社。言語翻訳による電源
vBCredits v1.4著作権© 2007 - 2008 、 PixelFXスタジオ
は、 UNIXおよびLinuxフォーラムのコンテンツ著作権© 1993 〜 2009 。すべての権利を管理しReserved.Ad RedTyger

コンテンツ関連のURLで vBSEO 3.2.0