![]() |
|
|
Googleのunix.com
|
|||||||
| UNIXの詳細&エキスパートのためのユーザー 専門家への専門家。先進のUNIXは、 UNIXのコマンドは、 Linux 、オペレーティングシステム、システム管理、プログラミング、シェル、シェルスクリプトは、 Solarisのは、 Linux 、 HP - UXのは、 AIXので、 OS X 、 BSDのこちらをご覧ください。 |
その他のUNIXおよびLinuxフォーラムトピックは参考にすること
|
||||
| スレッド | スレッドスターター | フォーラム | 返信 | 最後の投稿 |
| テキスト抽出 | krabu | シェルプログラミングとスクリプティング | 3 | 2009年4月7日 04:16午前 |
| テキストを抽出して、テキストを再利用するファイルの名前を変更する | JohnDS | UNIXのダミー質問と回答のため | 7 | 2009年2月5日 03:55午前 |
| configファイルから情報を抽出/テキスト処理 | oconmx | シェルプログラミングとスクリプティング | 3 | 2009年1月21日 07:09午後 |
| viの内のテキストの交換に必要な支援 | Chandu2u | シェルプログラミングとスクリプティング | 6 | 2008年1月26日 11:12午前 |
| ヘルプファイルからの行の展開について、必要 | google_ever | シェルプログラミングとスクリプティング | 1 | 2005年10月12日 08:02午前 |
![]() |
|
|
LinkBack | スレッドツール | このスレッドを検索 |
評価:
|
表示モード |
|
|
|
||||
|
ログファイルから必要なテキストを抽出
一本の助けがあれば私はかなり高いだろう。私はそれのJavaを使って行いますが、私はUnixの愛とは数分以内にラインのカップルで行うことができると思って取得しようとしている。
は、入力ログファイルはテキストファイルは、複数のエントリは空白行で区切られています。 区切られた各エントリを1つのファイルの処理情報をアップグレードするには対応しています。 !参加本文.....<情報>または<OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009年6月18日13:01:01.181 ファイルを!メッセージを要求するアップグレードレポート: test.java !参加本文.....<情報>または<OKAY> <RESOURCE: /test/src/com/test1/*/test1.java> 2009年6月18日13:01:01.181 test1.java !メッセージの情報をアップグレードされます。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE:フルパス/file名2009年6月18日13:02:25.681 !メッセージJPFアノテーション支援をorg.apache.beehive.netui.pageflow.annotations.Jpfのインポートが追加されます。 各エントリの"で始まる!エントリ"上に示すように、 com.bea.workshop.upgrade81テキスト"が行われるだろう"とし、そしてそれが続きます タグの2種類: <OKAY>と<INFO> し、そしてそれをタグで行われる<リソース:は、ファイルのフルパスが含まれて上記のように表示し、タイムスタンプが続いた。 場合は、 2行目にすることは次のようにしている<OKAY> ファイルを!メッセージを要求するアップグレードレポート:ファイル名(これは私の出力用)はあまり重要である 例: !参加本文.....<情報>または<OKAY> <RESOURCE: /test/src/com/test1/*/test.java> 2009年6月18日13:01:01.181 ファイルを!メッセージを要求するアップグレードレポート:ファイル名 2行目のような場合は、その後もされる<INFO>です ファイルを!メッセージを要求するアップグレードレポート:ファイル名 しかし、確かに複数のラインペアのタグを次のように! SUBENTRY 、 !メッセージを開始する別の設定が行われる予定 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: path/filename> 2009年6月18日13:02:25.681 !メッセージJPFアノテーション支援をorg.apache.beehive.netui.pageflow.annotations.Jpfのインポートが追加されます。 私の要件を以下のようなものです: 要件の1 1 )すべてのエントリ<OKAY>タグを含むために、私の後に<リソース:.....とされるファイル名を抽出する必要があるタイムスタンプの前に 以下のエントリは空白行で区切られている注記 要件2 2 ) <INFO>タグですべての行については、私はこのようなエントリを持つテキストファイルをおねがいします。 次の行のフルパスとファイル名をクリックして ライン対応" ! SUBENTRY 1 "タグのタグの下containg ! MESAAGE直後のすべてのテキスト 例えば、入力: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d !参加com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpathr/Test.java> 2009年6月18日13:02:28.368 ファイルを!メッセージを要求するアップグレードレポート: Test.java !参加com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009年6月18日13:02:28.384 ファイルを!メッセージを要求するアップグレードレポート: Test1.jpf !参加com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009年6月18日13:02:28.447 ファイルを!メッセージを要求するアップグレードレポート: Test2.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009年6月18日13:02:28.447 !メッセージのJava 5アノテーションJpf.Controller追加する必要があります。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009年6月18日13:02:28.447 Jpf.Action !メッセージほかの注釈を追加する必要があります。 !参加com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 ファイルを!メッセージを要求するアップグレードレポート: Test3.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージのJava 5アノテーションJpf.Controller追加する必要があります。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージJPFアノテーション支援をorg.apache.beehive.netui.pageflow.annotations.Jpfのインポートが追加されます。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージABC社を追加する必要があります。 requirement1の出力: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Test.java Test1.jpf requirement2の出力: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d / fullpath/Test2.jpf は、 Java 5アノテーションJpf.Controller追加する必要があります。 Jpf.Actionの他の注釈を追加する必要があります。 / fullpath/Test3.jpf は、 Java 5アノテーションJpf.Controller追加する必要があります。 JPFアノテーション支援をorg.apache.beehive.netui.pageflow.annotations.Jpfのインポートが追加されます。 ABC社を追加する必要があります。 編集hareeshramで最終; 2009年6月20日に 10:09午前.. |
|
||||
|
これは動作しますが、ご説明が正確である場合にのみ入力!
コード:
echo "Output from requirement 1"
echo "========================="
grep "<OKAY>.*RESOURCE" infile | sed -e "s/.*RESOURCE:.*\/\(.*\)>.*/\1/" | sort -u
echo
echo "Output from requirement 2"
echo "========================="
awk '
/^!ENTRY.*<INFO>/ { X = 1; sub( /.*RESOURCE: /, "", $0 ); sub( />.*/, "", $0 ); print }
(X == 1) && (/^!SUBENTRY/) { X++ }
(X > 1) && ($1 ~ /^!MESSAGE/) { sub( /!MESSAGE /, "", $0 ); print }
(X > 1) && ($1 ~ /^$/) { print ""; X = 0 }
' infile
Output:
Output from requirement 1
=========================
Test1.jpf
Test.java
Output from requirement 2
=========================
/fullpath/Test2.jpf
The Java 5 annotation Jpf.Controller needs to be added.
More annotation of Jpf.Action needs to be added.
/fullpath/Test3.jpf
The Java 5 annotation Jpf.Controller needs to be added.
Will add import of org.apache.beehive.netui.pageflow.annotations.Jpf for JPF annotation support.
ABC needs to be added.
編集scottnで最終; 2009年6月20日に 11:44午前.. |
| ビット受賞/ radoulovにこのポストに請求 | |||
| 日付 | ユーザ | コメント | 量 |
| 2009年6月22日 | hareeshram | スマートなソリューションをお寄せいただきありがとうございます! | 200 |
|
||||
|
そのため、高速かつ正確なでした!
おかげでscottnとradoulov 。
私にとっては素晴らしい仕事を 私は両方の要件については、期待の形式ではわずかに変化している。期待をしてはいかがだろう。 要件1 : ファイル名はフルパスが付属してください 要件2 : ファイル名をフルパス( )とは、 1行( 1つのメッセージが表示されているどのようなメッセージ)を経て、されているすべてのエントリと重複せずに全ての非連続の1行を削除する必要があります(同じメッセージ)が重複表示されるエントリをコンマで新しい行" (むしろ)よりによってsepartedする必要があります。とは異なり、上記の場合には、両方のファイルをカンマ区切りのメッセージは、 1行になるはずです。 UNIXで再び私の心を保つために多くの感謝します。 例えば、入力 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d 例えば、入力: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d !参加com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test.java> 2009年6月18日13:02:28.368 ファイルを!メッセージを要求するアップグレードレポート: Test.java !参加com.bea.workshop.upgrade81 <OKAY> <RESOURCE: /fullpath/Test1.jpf> 2009年6月18日13:02:28.384 ファイルを!メッセージを要求するアップグレードレポート: Test1.jpf !参加com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009年6月18日13:02:28.447 ファイルを!メッセージを要求するアップグレードレポート: Test2.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009年6月18日13:02:28.447 !メッセージのJava 5アノテーションJpf.Controller追加する必要があります。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test2.jpf> 2009年6月18日13:02:28.447 Jpf.Action !メッセージほかの注釈を追加する必要があります。 !参加com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 ファイルを!メッセージを要求するアップグレードレポート: Test3.jpf ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージのJava 5アノテーションJpf.Controller追加する必要があります。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージのJava 5アノテーションJpf.Controller追加する必要があります。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージJPFアノテーション支援をorg.apache.beehive.netui.pageflow.annotations.Jpfのインポートが追加されます。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージABC社を追加する必要があります。 ! SUBENTRY 1 com.bea.workshop.upgrade81 <INFO> <RESOURCE: /fullpath/Test3.jpf> 2009年6月18日13:02:28.634 !メッセージABC社を追加する必要があります。 requirement1の出力: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d / fullpath / Test.java / fullpath/Test1.jpf requirement2の出力: \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d / (タブ)のJava 5アノテーションJpf.Controller分離fullpath/Test2.jpf 、 Jpf.Actionの他の注釈を追加する必要があります追加する必要があります。 / (タブ)のJava 5アノテーションJpf.Controller区切って追加するfullpath/Test3.jpf 、 JPFアノテーションのサポートを追加する必要があるの輸入org.apache.beehive.netui.pageflow.annotations.Jpf 、 ABC社のニーズを追加する。 |
![]() |
| ブックマーク |
| タグ |
| 抽出ログ |
| スレッドツール | このスレッドを検索 |
| 表示モード | このスレッド |
|
|