2つのテキストファイルを比較し、結果を新しいファイルに保存しようとしています。新しい行だけが表示され、ソート順は無視されます。私はちょうど新しいものが何かを見たいと思うし、ラインの変更はありません。これに到達するには、以下に示すバッチファイル内でいくつかの方法を試してみました。私は新しいものに両方のファイルを比較してみました。その後2つのファイル間の新しい行を新しいファイルにフィルタリングする
D:/filetype/sort.exe -b D:\filetype\listfile\listfile_clean_tmp3_1.txt -oD:\filetype\listfile\listfile_clean_tmp4.txt
: 最初に私のような両方のファイルの順序を変更するuniqのと並べ替えを使用しています。 COMM
D:/filetype/comm.exe --nocheck-order -2 -3 d:/filetype/listfile/listfile_clean_tmp4.txt d:/filetype/listfile/archive/tmp/all.txt > D:\filetype\listfile\listfile_clean_tmp5.txt
ひどいソリューションを通じて
1)は、正しく動作しません。注文に何か違うものがあると、それは多くの偽の結果を出します。例として、結果をアーカイブに保存して、それを再度比較すると、新しい行が表示されます。私は自分自身でアーカイブされたファイルを比較する場合.commとして
D:/filetype/diff.exe --new-line-format="" --unchanged-line-format="" d:/filetype/listfile/listfile_clean_tmp4.txt d:/filetype/listfile/archive/tmp/all.txt > D:\filetype\listfile\listfile_clean_tmp5.txt
同じdiffを経由
2)は、それが新しい行が表示されます。
3)をGrep、SEDと差分
がD:/filetype/diff.exe -U $(wc -l < (D:/filetype/listfile/listfile_clean_tmp4.txt) (D:/filetype/listfile/listfile_clean_tmp4.txt D:/filetype/listfile/archive/tmp/all.txt | D:/filetype/grep.exe '^-' | D:/filetype/sed.exe 's/^-//g' > D:\filetype\listfile\listfile_clean_tmp5.txt
は、このWindowsのバッチで実行しているを取得することができませんでした、と把握することはできませんなぜ、エラーメッセージ「ファイルまたはフォルダ名の間違った構文」表示されます。どんなアイデアも素晴らしいだろう。 :
一部futher情報 - 私はWindowsの 内部のcoreutilsを使用しています - - の.pyスクリプト、バッチ、PHPとcorutils を使用することができ、私はアーカイブここ
に結果を追加するには、サンプルファイルでありますhttp://pastebin.com/raw/tNGSu2W6
最初に、私はそれを空のtxtファイル(all.txt)と比較します。最後のステップでは、それをall.txt(アーカイブ)にマージし、次の実行で正常にマージします。
copy /b D:\filetype\listfile\archive\*.txt D:\filetype\listfile\listfile_tmp_all.txt
D:/filetype/uniq.exe D:\filetype\listfile\listfile_tmp_all.txt > D:/filetype/listfile/archive/tmp/tmp_all2.txt
D:/filetype/sort.exe -b D:/filetype/listfile/archive/tmp/tmp_all2.txt -oD:/filetype/listfile/archive/tmp/all.txt
これをすべて混乱させないように(これは少しスパルタです)。 1 http://pastebin.com/T68sqpET
更新diff.exe「< filename <filename> output
」と一部のタイプミスがあった、pastbinコードを変更ウィンドウにエラーメッセージがトロウます。また、数字はdiffの欠点でもありませんでした。私は "uniq.exe -c"を使い、-cを削除する必要がありました。
[編集]して2つのテストファイルを追加できますか? – DavidPostill
完了:私はペーストビンが大丈夫だと思います。 – Deex
最後のコマンドラインで不均衡な '()'カッコが見えます。さらに、 'diff.exe'にそれらを正しく供給するために、' cmd'の有毒な文字を[Escape](http://ss64.com/nt/syntax-esc.html)する必要があります:エスケープ '<' ''^< 'と' grep.exe'へ: '^^'と˙^˙をエスケープしてください。 – JosefZ