The UNIX and Linux Forums  
Helloやアメリカ合衆国へようこそ! UNIXおよびLinuxフォーラム!訪問し、当社のグローバルコミュニティに参加いただきありがとうございます。

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



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

その他のUNIXおよびLinuxフォーラムトピックは参考にすること
スレッド スレッドスターター フォーラム 返信 最後の投稿
...必要なファイルを比較できます。 er_ashu UNIXのダミー質問と回答のため 4 2008年5月15日 09:37午後
比較UNIXおよびWindowsファイル体制 localp UNIXのダミー質問と回答のため 1 2008年4月11日 04:02午前
出力フォーマット-私との比較/ pファイル velappangs シェルプログラミングとスクリプティング 1 2008年4月3日 06:31午前
スクリプトファイルの比較 tiger99 シェルプログラミングとスクリプティング 1 2008年1月30日 10:47午前
ファイル時刻の比較の質問 pc9456 UNIXの詳細&エキスパートのためのユーザー 2 2003年7月23日 03:05午後

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年1月2日
net_shree net_shree is offline
登録ユーザー
  
 

参加日: 2007年12月
投稿数: 8
ファイルの比較

私は2つのテキストファイルを比較するために、非常にこれらのファイル内の行の一部の列にあるいくつかの違いがいくつかある。
GBのサイズのファイルです。
サンプルの行は以下の通りです:
11111122222222333333aaaaaaaaaabbbbbbbbbccccccccdddddd
11111122222222333333aaaaaaaaaabbbbbbbbbccccccccddeddd

そこで、これらのファイル1とファイル2をそれぞれ2つのラインを想定しているから、私は、差分ファイルは、新しい出力ファイル内の2つ目のファイルの行を取得する必要があります。

私が何になさいますファイル1とファイル2ループからのすべての行から行を読んで、見ているときに試合を停止すると、他のユーザーが行に出力ファイルが印刷されています。そして、ファイル1からすべての行に対して同じ手順を繰り返します。

この点では協力をお願いいたします。
  #2固定リンク)  
Old 2008年1月2日
ジムマクナマラ jim mcnamara is online now Forum Staff  
...@...
  
 

参加日: 2004年2月
場所: NM
投稿数:5739
何を"が一致する" 、それを読むことを意味File2に発見され停止してから....
場合は、行番号をご希望ですか?通常はループを終了して停止を読むことを意味します。
  #3固定リンク)  
Old 2008年1月2日
net_shree net_shree is offline
登録ユーザー
  
 

参加日: 2007年12月
投稿数: 8
はい、私は読むときに一致されているループを終了するには、私は、その行の詳細を確認する必要はありません。
いいえ私は、行番号は必要ありません。
  #4固定リンク)  
Old 2008年1月2日
dislusive dislusive is offline
登録ユーザー
  
 

参加日: 2008年1月
場所:ピッツバーグ、ペンシルバニア
投稿: 2
もし私がやろうとしているが正しく理解し、ここでは簡単なbashスクリプトだ。

コード:
#!/bin/bash

compareFile = "/path/to/file/to/compare.txt"
outputFile = "/path/to/outputFile.txt"

for filename in /some/dir/of/text/files/*.txt; do 
        
        numlines=`cat $filename | wc -l`
                
        for i in `seq 1 $numlines`; do 
                current=`cat $filename | head -$i | tail -1` 
 
                grep -q "${current}" ${compareFile} 
 
                if [ $? != 0 ]; then
                         #doesn't exist, append to $outputFile
                        echo "${filename}:${current}" >> ${outputFile} 
                fi
        done 
done
  #5固定リンク)  
Old 2008年1月2日
net_shree net_shree is offline
登録ユーザー
  
 

参加日: 2007年12月
投稿数: 8
こんにちは、迅速に解決していただきありがとうございます、非常に私が欲しいくらいだ。
しかし、私はこのスクリプトを実行することはできませんが、私はkshを使用します。
1つは、エラーの" seq :コマンドが見つかりません"
  #6固定リンク)  
Old 2008年1月2日
dislusive dislusive is offline
登録ユーザー
  
 

参加日: 2008年1月
場所:ピッツバーグ、ペンシルバニア
投稿: 2
は、 (通常は内にある/ usr / binに/ ) seq

それは個々の実行可能なコマンドの、 coreutilsがパッケージの一部のLinuxを使用している場合する必要があります。

場合は、お使いのシステムでは、スクリプトの変更が存在する
seq \u003d " /パス/ / seq "

その後、変数:使用するには、ステートメントを変更するために` $ ( seq )でのi ...
  #7固定リンク)  
Old 2008年1月2日
ghostdog74 ghostdog74 is offline Forum Advisor  
登録ユーザー
  
 

参加日: 2006年9月
投稿数: 2521
引用:
当初の投稿 dislusive View Post
もし私がやろうとしているが正しく理解し、ここでは簡単なbashスクリプトだ。

コード:
#!/bin/bash

compareFile = "/path/to/file/to/compare.txt"
outputFile = "/path/to/outputFile.txt"

for filename in /some/dir/of/text/files/*.txt; do 
        
        numlines=`cat $filename | wc -l`
                
        for i in `seq 1 $numlines`; do 
                current=`cat $filename | head -$i | tail -1` 
 
                grep -q "${current}" ${compareFile} 
 
                if [ $? != 0 ]; then
                         #doesn't exist, append to $outputFile
                        echo "${filename}:${current}" >> ${outputFile} 
                fi
        done 
done
として営業利益で述べたように、 GBのファイルにあります。私はいくつかの性能の差になると思います。単なる推測。
また、 seqの標準コマンドではありませんいくつかの* nixのOSをしたがって場合、ループは、店頭でのループは、 whileループを使用する代わりに使用することができます。 NUM件中[ $例えばル$ numlines ]
Closed Thread

ブックマーク

タグ
linuxの

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

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

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

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




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


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

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