The UNIX and Linux Forums  


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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
検索するファイルの2種類の差分ファイルから重複multuple ricky007 シェルプログラミングとスクリプティング 2 2008年3月4日 01:46午後
比較/ディレクトリとサブディレクトリ間の差分? andylee80 UNIXのダミー質問と回答のため 5 2007年7月12日 10:45午前
スクリプトファイルを比較する pulse2india シェルプログラミングとスクリプティング 0 2005年10月19日 05:32午後
perlパッケージのディレクトリ-一*.午後に何が含まれている場合は、スクリプトの差分大和総研? gusla シェルプログラミングとスクリプティング 1 2004年11月23日 08:32午後
2ファイルの差分;出力差分ファイルへの第3回 blt123 シェルプログラミングとスクリプティング 2 2002年5月28日 12:29午後

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年7月29日
vasuki vasuki is offline
登録ユーザー
  
 

参加日: 2008年7月
記事: 1
2の差分の2 coloum perlスクリプトを使用してファイルを比較する

やあ、

私に新しい午前 perlの ..スクリプティング私はまだ.. learingは午前私は、執筆を依頼午前 perlの スクリプトは2種類のファイルの2 coloumsを比較する必要があります。これらの2 coloumn場合は、スクリプトと同じです2差分ファイルの両方の行を格納する必要があります。

これらのファイルは、

1個のファイル:
21767016 226112文字[ ]
19136520 797355 java.lang.String
17769368 307049 java.lang.Object [ ]
13981656 582569 java.util.HashMap $エントリー
10867240 16650 INTは[ ]
9065616 559799 java.lang.String [ ]
9060192 79626 java.util.HashMap $エントリ[ ]
6969384 23146バイト[ ]
6857664 285736 java.util.Vector


2ファイル:
21702192 904258 java.lang.String
20985320 360561 java.lang.Object [ ]
20524112 209810文字[ ]
12623280 525970 java.util.HashMap $エントリー
10945080 678896 java.lang.String [ ]
9781432 10871 INTは[ ]
8302464 345936 java.util.Vector
8107104 337796 netscape.ldap.util.RDN
7620024 68357 java.util.HashMap $エントリ[ ]
6515152 52272 * ConstMethodKlass

現在の両方があるので、私はjava.lang.stringので2ファイルにこれらの3 coloumnを比較するために、私が2例の両方のファイルの差分ファイルで、これらの製品ラインは、スクリプトを保存します。これらの2ファイル大きなファイルです。

私をお勧めしてくださいどのように行うことができます。いくつかの1つの場合は、ハッシュテーブルの実装を使用することを提案していた。

ありがとう、
Vasuki
  #2固定リンク)  
Old 2008年7月30日
Annihilannic Annihilannic is offline Forum Advisor  
  
 

参加日: 2008年5月
場所:シドニー、オーストラリア
投稿数: 1009
このおそらく(未検証)してみてください:


コード:
awk '
    # load the contents of file1 into a hash indexed by $3
    NR==FNR { file1[$3]=$0; next }
    # check whether $3 in file2 is in the hash, if so, print bothlines to files
    $3 in file1 { print file1[$3] >> "file1.both"; print >> "file2.both" }
' file1 file2

  #3固定リンク)  
Old 2008年7月30日
時代 era is offline Forum Advisor  
Herder of Useless Cats (On Sabbatical)
  
 

参加日: 2008年3月
場所: /there/is/only/bin/sh
投稿数: 3652
とここに(ほぼ)に同じ Perlの


コード:
perl -ane 'BEGIN { open FILE1, ">file1.both"; open FILE2, ">file2.both"; }
  if ($. == ++$n) { $h{$F[2]} = $_; close ARGV if eof; next; }
  if ($h{$F[2]}) { print FILE1 $h{$F[2]}; print FILE2; }' file1 file2

これは非常に慣用されていません Perlのが、取得するのに十分な期待をする必要があります始めた。その卑劣な手段で $ Ñ および ARGV には、 Awkのシミュレートされ NR \u003d\u003d FNR 熟語。その EOFを ことで行番号をリセットすることです $ 。 ファイルの変更時に、参照してください EOFを 簡単な議論のためのドキュメント。

この方法は、 3ドルにすることで 6515152 52272 * ConstMethodKlass ているだけ" * " -かもしれませんが、正常化するのではなく、スクリプトを変更します。
  #4固定リンク)  
Old 2008年7月30日
summer_cherry summer_cherry is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2007年6月
所在地:中国北京
投稿数:1092
質問をするかどうかを正しく理解していない。

とにかく、 1つ下にいくつかの希望を意味することができます。


コード:
open (FH,"<a");
while(<FH>){
	@arr=split(" ",$_);
	$hash{$arr[2]}=$_;
}
close(FH);
open (FH,"<b");
while(<FH>){
	@arr=split(" ",$_);
	if(exists($hash{$arr[2]})){
		print $hash{$arr[2]};
		print $_;
	}
}
close(FH);

Closed Thread

ブックマーク

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

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

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

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




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


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

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