初めて重複した行にリアルタイムで費用がかかったとき、出荷していた Laravel アプリのメール アドレスのエクスポートされた CSV 列 2 つを調整していました。1 つのリストには 4,200 行、もう 1 つは 3,900 行があり、重複するどこかに 2 回表示される数百のアドレスがありました。スプレッドシートで推測できますが、列の並べ替えも主張しており、段階的な展開のために元の送信順序が保存されている必要がありました。そこで私は、その時点でほとんどの人がやっていたことを実行しました。スクラッチ ファイルを開いてリストを貼り付け、手作業で行の削除を開始しました。20 分後、2 つを見逃して 1 つのタイプミスを導入しました。
それがまさに問題です 重複 ラインリムーバー 解決するために存在します テキストブロックから繰り返し行を削除し、他のすべてを正確にその場所に残します ソート、再フォーマット、顧客データを含むファイルを、制御していないサーバーにアップロードせず、貼り付け、重複の処理方法を選択し、きれいな結果をコピーします。
tl;dr: リストを貼り付け、モードを選択し、重複除外テキストを元の順序に戻します。 "一意を保つ"各行の余分なコピーを削除します。 "すべての重複を削除します"ツインを持つすべての行を削除し、すでに一意だった行のみを残します。 "重複のみを保持します"繰り返された内容を正確に示します。大文字と小文字の折り畳み、トリミング、空白行の削除はオプションです。すべてブラウザで実行されるため、リストがマシンから離れることはありません。
重複した行の削除が複雑になるのはなぜですか?
表面的には、" 重複した行を削除" 単一の操作のように聞こえます 実際には、それはあなたがやっていることに応じて少なくとも3 つの異なることを意味し、ほとんどのツールはそれらのうちの1 つしか与えません。
メーリングリストをクリーニングしている場合は、各アドレスのコピーが 1 つ必要で、どのコピーが残るか気にしません。 config ファイルを監査している場合は、誤って複製された行のみを見つけて調査できる場合があります。 2 つのマージされたエクスポートを比較している場合は、複数回表示されるすべての行を削除して、真にユニークなエントリを残しておきたい場合があります。これらは同じ入力からの逆の結果であり、スプレッドシートに到達します' s " 重複を削除します" ボタンを使用すると、そのうちの 1 つを正確に取得できます。
順序はもう1 つの複雑ですツールが重複排除を容易にするためにリストをソートした瞬間、情報が破壊されてしまいましたログ行は時系列ですエクスポートされたレコードはしばしば暗黙のシーケンスを持ちますプレイリスト、ビルド順序、移行ステップのリスト: これらはすべて、ある順序のために意味しています順序を保存する重複排除ツールは、最初にソートする作業よりも厳密に多くの作業を行います。なぜなら、生き残った各行がどこに属しているかを覚えておく必要があるからです。
3 つの除去モードは何ですか?
これらは 3 つの実際のタスクであるため、ツールは 3 つのモードを提供します。同じ入力に対してそれぞれが何を返すかを次に示します。
| モード | それが保持するもの | 通常の使用 |
|---|---|---|
| ユニークさを保ちます | すべての行のコピーを 1 つ | メーリング リストを重複除外し、単語リストを整理します |
| 重複するものをすべて削除します | 1 回きりの登場セリフのみ | マージされたエクスポート全体で真にユニークな行を分離します |
| 重複のみを保持します | 繰り返される各行のコピー 1 つ | どのエントリが誤って重複したかを監査します |
9 行のリストを取ります: apple, Banana, cherry, apple, date, banana, cherry, apple, fig。大文字と小文字を区別して一致させるキープユニーク モードで取得します apple, Banana, cherry, date, banana, cherry, fig、 だって Banana あんど banana ケースを折りたたむまでは異なる文字列です。 remove-all モードでは、 Banana, date, banana, fig、それらが繰り返さない唯一の行であるので。 keep-only-duplicates モードでは、あなたが得る apple, cherry、2 回以上現れた2 行 同じ入力、3 つの答え、そしてあなたが尋ねている質問を選択します。
最後の仕事を続けるのと続けるのはどうですか?
keep-unique モードと keep-only-duplicates モードでは、繰り返される各行の 1 つのコピーが残ります。 "keep first" と "keep last" どちらかを決定します。
これは見た目よりも重要です 各行が、後のエントリが以前のエントリの修正であるレコードであるとします。これは、追加専用のログやイベント ストリームで一般的です。最初のバージョンではなく、最後のバージョンが必要です。 Keep-last はリストを歩き、それぞれの個別の行の最終的な位置を見つけ、そこに行を放出します。そのため、生き残ったコピーは、最後に発生した順序で表示されます。 Keep-first は逆を行い、各行を最も早い位置で放出します。ほとんどのクリーンアップ ジョブでは、重複した行はいずれにしても同一であるため、違いは見えませんが、位置が意味を運ぶ場合、選択することでリストを反転したり、重複したり、元に戻したりすることができなくなります。
重複線リムーバーを使用するにはどうすればよいですか?
ワークフローは意図的に短いです.
- テキストを入力ボックスに1 行に1 つのエントリで貼り付けます ツールは入力時に行を数えます。
- モードを選択: 一意に保つ、すべての重複を削除する、または重複のみを保持する。 1 つのコピーを保持するモードの場合は、最初または最後の出現が存続するかどうかを選択します。
- マッチングオプションを設定します。 "Case" を無視をオンにします
Appleあんどapple一緒に折りたたむ、"トリム空白"したがって、迷走した先頭または末尾のスペースがある行は依然として一致し、"空白行を削除"同じパス内に空の行を削除します。 - 出力を読みます。ヘッダーには、何行が出て、何行が削除されたかが表示されるため、ワンクリックでコピーする前に結果を正気でチェックできます。
出力はライブで更新されるため、" を切り替えることができます。ケースとクォートを無視します。オンとオフで、削除されたカウントの変更を確認できます。これは、重複が正確であるか、大文字と小文字のみが異なるかを迅速に判断する方法です。
マッチングにケースと空白のオプションが必要なのはなぜですか?
あなたと同じように見える 2 本の線が、必ずしもコンピューターと同じであるとは限りません。 [email protected] あんど [email protected] 電子メール アドレスのドメイン部分は大文字と小文字を区別せず、ほとんどのプロバイダーはローカル部分も大文字と小文字を区別しないため、実際には同じメールボックスです。しかし、生の文字列としては異なるため、正確な重複排除子は両方を保持します。 "無視 case" オプションは比較する前に両方を共通の形式に折りたたむため、1 つとしてカウントされます。
ホワイトスペースはもう 1 つのサイレント トラブルメーカーです。テーブル、端末、PDF から行をコピーすると、表示されない末尾のスペースや迷走タブを取得することがよくあります。 cherry あんど cherry をトリミングするまで、異なる行です。 "Trim whitespace" をオンにすると、一致する前に周囲の空白がストリップされ、これは、他の方法では生き残るであろうほぼ重複のこのクラス全体をキャッチします。 比較では、内部間隔が依然として重要として扱われます New York あんど NewYork 明確に保つことがあなたが望むことです。
これが、ツールが大文字と小文字を決してトリミングしたり折りたたんだりしない理由でもあります。たとえば、ソース コードのスニペットを重複排除する場合など、大文字化やインデントが重要な場合があります。オプションはデフォルトでオフになっているため、ツールは表示どおりに実行し、データが要求した場合にのみ、より緩やかな照合を選択できます。
これはリストの並べ替えや比較とどう違うのでしょうか?
ザ・ ラインソーター 重複を削除することもできますが、リストの並べ替えの一環として削除し、常に最初の出現を保持します。これは、アルファベット順で重複を除いた結果が必要な場合に最適です。順序が神聖な場合は、間違ったツールです。重複行リムーバーは、並べ替えてはいけない場合に正確に存在します。
ザ・ リスト 比較 ツールはまた別の質問に答えます 2つのリストが与えられ 両方に何があるか 最初だけにあるもの 2番目だけにあるもの それは2つの入力にまたがる 算術演算が設定されています 重複線除去とは 1つの入力内で繰り返されることです もし内部重複を見つけるために 同じリストを比較ツールの両方のスロットに貼り付けているとしたら 重複除去ツールは より直接的な手段です。
そして、必要なのがクリーン化されたリストではなくカウントである場合、 ワードカウンター レポートは合計, 一方、重複排除者は削除した行数を報告します. 右のものに到達すると、ステップが保存されます.狭いジョブのための正しいツールを選択することは、内部化する価値のあるテーマです; 手元に小さな、焦点を合わせたユーティリティのセットを保持するためのより広範なケースは、このガイドにレイアウトされています 開発者の生産性向上ツール。
データは非公開のままですか?
はい、これはマーケティングラインではありません。 操作全体はブラウザタブ内のJavaScriptで実行されます。 アップロードステップ、API呼び出し、サーバー側の処理はありません。顧客メール、内部ホスト名、またはライセンスキーのリストを貼り付けると、そのテキストは独自のマシンでメモリ内で操作され、タブを閉じると破棄されます。 browser's ネットワークパネルを開いて作業中に沈黙しているのを見たり、ページが読み込まれた後にインターネットから切断してツールが動作し続けるのを確認したりすることで確認できます。
規制されたデータや機密データを扱う人にとって、そのプロパティは、ホストされているツールよりもクライアント側のツールを好む理由全体です バックエンドにリストを静かに投稿する便利なオンライン重複排除ツールは、意識的に行わなかったデータ処理の決定です ブラウザベースのユーティリティとサーバーベースのユーティリティの間のトレードオフは、完全に理解する価値があり、この概要 オンラインツールによるデータプライバシー 本当のリスクがある場所をカバーします。
実用上の限界は?
作業はメモリ内で行われるため、天井はアップロードキャップではなくブラウザタブです 実際には、数万行を貼り付けて即座に結果を得ることができます 数十万行のリストはまだ機能しますが、入力、出力、およびルックアップ構造を一度に保持するというメモリ圧力を感じ始めます これは、ツールレベルの制限ではなく、タブレベルの制限です 真に巨大なファイルの1 回限りのクリーンアップのために、コマンドラインパスは、次のようなものです awk '!seen[$0]++' より良い機器です。クリップボードにある日常のリストでは、ブラウザ ツールの方が早くアクセスできます。
ツールは部分文字列やフィールドではなく行全体を比較します。重複が " 同じレコードだが異なるタイムスタンプ列を持つ場合、" 行は同一ではなく、ツールはそれらを別個に正しく扱います。その状況では、最初に変化する列を削除し、次に重複を除外します。比較が全行であることを知っているため、毎回結果を予測できます。
このツールはいつ手を伸ばせばいいのでしょうか?
正直な答えは: いつでもあなたが行きたい繰り返しとあなたが保持したい順序であなたのクリップボードにリストを持っている メーリングリストと電子メールのエクスポートは、明らかなケースです.SEOツールにインポートする前にキーワードセットをクリーンアップすることは別のものです, 特にとペアリング ケースコンバーター ソースが大文字を混合したとき。ログ行を重複して個別のエラー メッセージを見つけ、依存関係のリストを整理し、貼り付けられたタグの列を折りたたみます。これらはすべて、以前は 5 分間のジョブだった 5 秒のジョブです。
それらを結び付けるパターンは、データがテキストであり、繰り返しが正確またはほぼ正確であり、シーケンスが重要であるということです。 3 つすべてが保持されている場合、手作業による編集は遅く、エラーが発生しやすく、スプレッドシートが順序を破壊し、クライアント側の重複排除ツールがまさに適切なサイズのツールになります。
リストを重複除外するときによくある間違いは何ですか?
私が最も頻繁に見る間違いは、クリーニングの前に重複排除することです。リストの後続スペースや大文字の混在がある場合、完全に一致するパスが重複に近い状態を残し、ツールを終了します。 "一部を欠席しました。 "そうではありませんでした;あなたは正確に一致するように要求し、線は純粋に異なりました。 trim をオンにして、最初に大文字と小文字を無視し、次に dedupe を実行し、削除された線の数は通常、最終的に直感と一致する方法でジャンプします。ツールは両方のステップを 1 回のパスで正しい順序で実行するため、オプションを有効にするだけで十分です。
2 つ目の間違いは、質問に対して間違ったモードを使用することです。 " 重複を見つけたい" そして " 重複を削除したい" 似たような音ですが、反対のモードを呼び出します。 remove-all モードに切り替えると、何が繰り返されたかを確認すると、正確な逆が得られます。 mode ラベルを一意の文として読みます。 keep unique は各 1 つを保持します。 remove all は双子を持つものを削除します。 keep only duplicates は双子を見せてくれます。
3 つ目は比較が全行であることを忘れていることです.タイムスタンプやID列でのみ異なる2 つのレコードは,その行が同一ではないため,ツールに関する限り重複しません. " duplicate" あなたが気にかけているのは,行のサブセットであるとき,最初に変化している部分をストリップしてから,結果を推定します.一致としてカウントするものについて明示的であることが,出力を予測可能にするものであり,予測可能であることが小さなツールの要点です:あなたはあなたの入力とあなたの設定を見て,あなたがクリックする前に出てくるものを正確に知ることができるはずです.
フェイク
テキストから重複行を削除するにはどうすればよいですか?
1 行に1 つのエントリで重複行リムーバーにテキストを貼り付け、デフォルトの一意のモードを維持します ツールは各行の最初のコピーを保持し、残りを即座に削除してから、クリーニングされた結果をコピーできます。
元の行の順序を維持しますか?
はい。 sort-and-dedupe アプローチとは異なり、このツールは重複を所定の位置から削除し、生き残った行を元の順序のままにします。これは、ログ、エクスポート、およびシーケンスに意味があるリストにとって重要です。
重複した行だけを残してもいいですか?
はい。 keep-only-duplicates モードに切り替えると、ツールは 2 回以上出現した各行の 1 つのコピーを返すため、どのエントリが繰り返されたかを正確に確認できます。
3 つのモードの違いは何ですか?
Unique はすべての行の 1 コピーを保持します。 remove-all は重複のあるすべての行を削除し、すでに一意だった行のみを残します。 keep-only-duplicates は繰り返された行のみをそれぞれ 1 コピーずつ返します。
重複を見つけるときに大文字と小文字を無視するにはどうすればよいですか?
ignore-case オプションをオンにします。 "Apple" や "apple" など、大文字のみが異なる行は有効化されているため、同じ行として扱われ、1 つに折りたたまれます。
同じに見える2 行が重複として扱われないのはなぜですか?
デフォルトでは比較は正確であるため、後続のスペースや大文字が異なると 2 つの行が区別されます。 trim をオンにして周囲の空白をストリップし、大文字と小文字を無視して一致する前に大文字と小文字を区別します。
空白の線も取れるのか?
はい。 「空白行を削除」オプションを有効にすると、重複が一致する前にすべての空行が同じパス内にドロップされるため、出力には余ったギャップがありません。
ここで機密リストをクリーニングしても安全ですか?
はい。すべての処理は完全に JavaScript を使用したブラウザで行われます。テキストはアップロードまたは保存されることはなく、ページがロードされるとツールはネットワーク接続なしで動作し続けます。



