The UNIX and Linux Forums  

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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
特定のパターンは、検索パターンの2行目からのスタートを変更 imas UNIXのダミー質問と回答のため 1 2008年10月12日 02:19午後
特定のパターンは、検索パターンの2行目からのスタートを変更 imas UNIXのダミー質問と回答のため 2 2008年10月12日 12:30午後
どのようにしてファイルには、パターンにマッチするレコードを削除することができますか? mode09 UNIXのダミー質問と回答のため 2 2008年7月15日 02:53午後
パターンと一致する行の列を除外 greptastic UNIXのダミー質問と回答のため 5 2008年6月30日 04:32午前
パターン検索Multile同じ行の削除 sasree76 シェルプログラミングとスクリプティング 2 2008年4月16日 03:12午後

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

参加日: 2007年11月
投稿: 15
コメント/特定のパターンが一致するパターンの2行目からのスタートを削除

やあ、

私は以下のエントリを1.txtファイルが表示:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
**
**
**

2.txtファイルでは、私としては、次のエントリが表示:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

私1.txtからのIPアドレスの列を取るとして2.txtで検索するとのコメントを2つ目のマッチしたパターンから重複エントリ。

すなわち、私は次のような出力が表示2.txtにする必要があります:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

下のスクリプトを書いたが、コメントする、すべての重複したエントリです:

私は猫1.txt ` |カット- Dを" | " - F3を`
する
猫2.txt |セッド " / ^ \ ( .* \ | $ \ |.*)/#/グラム" > tmp.txt
ミュージックビデオtmp.txt 2.txt
完了した

いくつかの1つの方法の最初のエントリが重複するとのコメントをそのまま残す/上から2番目の重複エントリを削除するので、私案内することはできます。

答えを知らない場合は、このスレッドを閉じることはありません。

ありがとう
- Imas
  #2固定リンク)  
Old 2008年10月12日
Franklin52 Franklin52 is offline Forum Staff  
モデレータ
  
 

参加日: 2007年2月
投稿数:4315
引用:
当初の投稿 imas View Post
答えを知らない場合は、このスレッドを閉じることはありません。
これは自宅作業の質問ですか?
それはないと仮定すると、あなたの質問の本当の世界の問題は何ですか?

よろしく
  #3固定リンク)  
Old 2008年10月13日
imas imas is offline
登録ユーザー
  
 

参加日: 2007年11月
投稿: 15
はいあなたの仮定が正しいことと、これは現実世界の問題がある

何を行うには、重複するIPは、テキストでは、有効なMacとで重複するIPアドレスからのコメント以降2番目の発生を有効にするIPのように最初に出現するファイルが見つかったのコメントを無視されてはIAMの行の開始。

1.txtファイルのエントリを次のように表示:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
**
**
**

2.txtファイルのエントリを次のように表示:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

私は次のような出力が表示2.txtにする必要があります:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

適切なスクリプトを書いている私

私は猫1.txt ` |カット- Dを" | " - F3を`
する
猫2.txt |セッド " / ^ \ ( .* \ | $ \ |.*)/# \ 1 / gに" > tmp.txt
ミュージックビデオtmp.txt 2.txt
完了した

しかし、上記のスクリプトのすべてのコメントを発症します。

ご協力感謝しています。

ありがとう
- imas
  #4固定リンク)  
Old 2008年10月13日
summer_cherry summer_cherry is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年6月
所在地:中国北京
投稿数:1088
awkは:

コード:
nawk 'BEGIN{FS="|"}
{
if(NR==FNR)
	a[$3]=0
else
{
	a[$3]++
	if(a[$3]>=2)
		print "#"$0
	else
		print $0
}
}' 1.txt 2.txt
  #5固定リンク)  
Old 2008年10月13日
imas imas is offline
登録ユーザー
  
 

参加日: 2007年11月
投稿: 15
こんにちはSummer_Cherry 、

私のコードが一致するパターンの2回目の出現から始まるコメントは、 100万枚を与えても、行の開始。

intelsol2 >猫1.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
intelsol2 >猫2.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
intelsol2 >
nawk ' (のFS開始\u003d"|"}

( NR \u003d\u003d FNR )
[ $ 3 ] \u003d 0
その他の

[ $ 3 ] + +
( [ $ 3 ] > \u003d 2の場合)
印刷する" # " $ 0
その他の
$ 0を印刷

) ' 1.txt 2.txt > 3.txt
intelsol2 >猫3.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
intelsol2 >

また、 Unixのおかげでみんなのフォーラム"では多くの皆さんのためのロック! "

参考、私はこのコードを検索していた以降のすべての週末としていた セッド "マニュアルhttp://www.grymoire.com/Unix/セッドは。 html "サブトピック( / 1 、 / 2などの発生を指定する)は、すべての試験方法を試みるとエラーに不運だった。

また、夏の私はあなたには私はより良い方法では理解できることを書かれているコードを説明してください可能性がある。

もう一度感謝をたくさんしてこのスレッドを閉じることができます。

ありがとう
- imas
Closed Thread

ブックマーク

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

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

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

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




すべてGMT -4です。現在の時刻は 05:38午後


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

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