サクラエディタで重複行を削除するには
サクラエディタは、Windowsで動作する日本語のテキストエディタです。豊富なキーボードショートカット機能や、高度なカスタマイズ機能により、テキスト入力やソフトウェア開発の生産性を向上します。
ここでは、ショートカットキーを使いながら、重複行を削除する手順を解説していきます。
サクラエディタの機能
サクラエディタは、カスタマイズが可能な多機能日本語エディタです。プログラミング言語を識別したカラー強調表示やアウトライン解析が可能で、言語に応じた15の編集モードを備えています。
検索機能のGrepや差分を抽出表示するDiffなど、プログラミング支援やマクロ機能などがあり、高度な編集が可能です。
【参考】:サクラエディタ - 機能紹介
ショートカットキーとは
ショートカットキーとは、キーボードの操作を組み合わせることで、アプリケーションやシステムがあらかじめ決められた特定の動作を実行する機能を指します。
サクラエディタでは、ショートカットキーが割り当てられており、キー割り当てのカスタマイズが可能です。普段使用する機能をキー割り当てを確認しながら、簡単に実行できます。
ショートカットのキー割り当ては、「共通設定」「キー割り当て」から「Shift」「Ctrl」「Alt」の組み合わせとともに、キーの「割当」と「解除」を行うことができます。
【参考】:サクラエディタ HELP: 共通設定 『キー割り当て』プロパティ 【参考】:サクラエディタ HELP: コマンド一覧 (機能別) 【参考】:サクラエディタ HELP: キー割り当て一覧
重複行の削除の実装方法
重複行の削除は、データベースなどでバラバラで蓄積されたデータを統合する際などに行います。例えば電話番号や住所などもバラバラで入力されるため、名寄せという処理で重複した氏名や住所、IDなどの情報を統合していきます。
そのため、データ管理する上で重複行の削除は、重複データを統合する処理として重要な役割を持ちます。
重複行の削除をテキストエディタに搭載するには
重複行の削除処理をテキストエディタに実装するのは、簡単ではありません。理由としては、重複のチェックには全体の中で該当行が複数あることを把握する必要があるためです。
サクラエディタにおいても、実装にあたってどこからどこまでを対象とするのか範囲を設定します。その設定範囲を行単位で整列し、前後の行が一致するのか比較して削除・統合する方法を取っています。
サクラエディタで重複行を削除する方法
重複行の削除は、データベースやエクセルのような表計算などで項目をソート(整列)してマージ(統合)する操作と同等の機能です。サクラエディタはテキストエディタでありながら、この機能をソートと重複行の削除で実現しています。
ここからは、実際にサクラエディタでどのように行うのか確認していきます。
削除する範囲を選択する
最初にマウスやキーボードで削除する範囲を選択します。すべて選択する場合は、「Ctrl」+「A」のショートカットキーを使用します。
次の工程ではソートを使用しますが、文末に表示される[EOF]には改行コードが含まれていませんので、この行は重複行とは見なされません。そのため、最終行にも忘れずに改行コードを入力します。なお、改行コードはCRLFやCR、LFなど複数の種類があります。
改行コードが違う行は重複行として削除されないため、対象とするファイル内では、同一の改行コードを入力します。
具体的には、複数の改行コードが混在しているファイルでは、あらかじめ「検索」「置換」によって改行コードを統一したり、「ファイル」「名前を付けて保存」で改行コードを指定したりしておきます。
【参考】:サクラエディタ HELP: 入力改行コード指定 【参考】:サクラエディタ HELP: 置換 【参考】:サクラエディタ HELP: 名前を付けて保存
選択した行をソートする
サクラエディタでは、あらかじめソートしない場合は、重複行の削除がされません。重複行の削除機能は、「連続した重複行の削除」であり、前後に同じ行が現れた場合だけ削除の対象となります。そのため、最初にソートを行い、重複行を連続で配置する必要があります。
選択した行をソートすることで、同一内容の行が整列します。「編集」「整形」から「選択行の昇順ソート(A)」または「選択行の降順ソート(D)」をクリックします。
「選択行の昇順ソート(A)」は「Alt」+「A」、「選択行の降順ソート(D)」は「Alt」+「D」のショートカットキーが使用できます。
【参考】:サクラエディタ HELP: 「編集(E)」メニューの一覧 【参考】:サクラエディタ HELP: 選択行の昇順ソート 【参考】:サクラエディタ HELP: 選択行の降順ソート
重複行の削除を実行する
ソートによって、重複した行は連続して整列しているため、「連続した重複行の削除」が可能です。使用するには、「編集」「整形」から「連続した重複行の削除(uniq)(U)」をクリックします。
「連続した重複行の削除(uniq)(U)」の「uniq」とは、UNIXやLinuxの重複行を削除する「uniq」コマンドを意味します。
クリックすると、ポップアップメニューで「xx行をマージしました。」と何行マージ(削除・統合)したか表示されます。これによって、マージと同等の処理を行うことができます。重複行削除のショートカットキーは、「Alt」+「M」です。
【参考】:サクラエディタ HELP: 「編集(E)」メニューの一覧 【参考】:サクラエディタ HELP: 連続した重複行の削除(uniq)
空白文字によって重複行が削除できない場合
「連続した重複行の削除(uniq)(U)」は、行頭や行末に空白文字がある場合も同一行と認識されず、削除されません。この空白文字には半角スペース、全角スペース、タブ文字があります。改行コード同様に、あらかじめ不要な行頭・行末の空白文字を削除しておく必要があります。
空白を削除するには、「編集」「整形」から「左(先頭)の空白を削除」や「右(末尾)の空白を削除」をクリックします。「左(先頭)の空白を削除」は行頭の空白文字を削除し、「右(末尾)の空白を削除」は行末の空白文字を削除します。
ショートカットキーは、「左(先頭)の空白を削除」が「Alt」+「L」、「右(末尾)の空白を削除」が「Alt」+「R」です。
【参考】:サクラエディタ HELP: 「編集(E)」メニューの一覧 【参考】:サクラエディタ HELP: 左(先頭)の空白を削除 【参考】:サクラエディタ HELP: 右(末尾)の空白を削除
キー操作を自動化するには
サクラエディタでは、マクロ機能が豊富に実装されています。重複行の削除など一連のキー操作についても、記録することができます。
この機能は、「ツール」「キーマクロの記録開始」で開始され、「ツール」「キーマクロの記録終了」がクリックされるまでのキー操作を記録します。キー操作の記録は、サクラエディタの「設定」「共通設定」「マクロ」のマクロ一覧で示すフォルダに ”RecKey.mac” として格納されます。
使用するには、「ツール」「キーマクロの読み込み」でファイルをロードし、「ツール」「キーマクロの実行」で同じ操作を自動的に実行します。
【参考】:サクラエディタ HELP: マクロについて 【参考】:サクラエディタ HELP: キーマクロの記録開始/終了
サクラエディタは重複削除もできる万能テキストエディタです
サクラエディタは、プログラミング用テキストエディタですが、豊富な機能やカスタマイズによってツールとしても利用できます。データ処理も重複削除機能や、検索・置換などで実現できるため、万能なテキストエディタと言えるでしょう。
マイナビエージェントに無料登録して
転職サポートを受ける
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから