複数のファイルのEOLを一度に変更する


100

Notepad ++(または別のツールでも)で、一度に複数のファイルで行末を自動的変更する方法はありますか?

つまりCRLF、Windows EOL(LF)ファイルとUNIX EOL()ファイルの組み合わせをすべてWindows EOL(CRLF)に変換します。


1
ケースのメモ帳で++しっかり要件ではなく、ここでの情報は、関連するかもしれない:stackoverflow.com/questions/3110031/...
ルーベン

回答:


102

置き換えダイアログがEOLのような拡張文字を処理することができます。「検索モード」を「拡張」に変更するだけで、EOL(Windowsでは\ r \ nまたはUnixでは\ n)、タブ(\ t)などを操作できます。

ダイアログの[ ファイルから検索 ]タブを使用して、複数のファイルを置換することもできます。

スクリーンショット


14
すべてのファイルがまだ unixスタイルでない場合、このソリューションは機能しないことに注意してください。と置き換えるので\n\r\nにも変換さ\r\n\r\r\nます。
Kirk Woll 2014年

-1 Edit> EOL変換を変更せずに(スクリーンショットのステータスバーにあるDos \ Windowsを参照)、Enterキーを押すと間違ったEOLが挿入されます
。EOL

42
\ nを\ r \ nに置き換えます。次に、\ r \ r \ nを\ r \ nに置き換えます。出来上がり!
dev_row 2014

2
なぜ、あなたのスクリーンショットの例ショー\tではFind what?タブは行末の変更とは関係ありませんよね?
trejder 2014

1
素晴らしい...それはnotepad ++エディタで完全に動作します...それは巨大な労力を節約します、それは手動の変更によって費やすつもりです
aniruddha

91

Notepad ++ 6.1.2を持っています。
「編集」メニューには、必要なことを正確に実行する「EOL変換」があります。


24
これはファイルベースで機能し、ファイルのセット全体には適用できません。
fduff

10
質問のタイトルを読みましたか?「複数のファイルで EOLを変更する」という部分を見ましたか?
Sk8erPeter 2013

2
複数のファイルを順次開くには、複数のファイルを開きます。彼が言ったように、「一度に」はもともとそこにはありませんでした。
gparent

7
実際、私は単一のファイルでEOLを変更する必要があり、その方法がわからなかったので、答えは私にとって非常に役に立ちました。
DiegoDD 2013年

5
便利な答えこれはGoogleの中で最初に起動すると
マシュー・ロック

69

「ファイルの検索」機能を使用します(Ctrl + Shift + F)。左下の検索モードを「正規表現」に変更します。

[検索対象]ボックスで、次のパターンを使用します。

(?<!\r)\n

と置換する:

\r\n

ディレクトリを選択し、ファイルタイプフィルターを指定します。必要に応じて、[すべてのサブフォルダ]をオンにします。「ファイル内で置換」をクリックします。

これにより、現在改行文字(\ r)の前にない改行文字(\ n)が\ r \ nに置き換えられます。したがって、すでにWindowsスタイルの行末と一致しません。

ここに画像の説明を入力してください


1
(?<!\r)\n特に最初の?<!部分の意味を説明してくれてありがとう!
user1032613

2
これ(?<! )は否定的な後読みです。プレフィックスがない場合は一致することを意味します。この場合、それはチェックしており、前に\rがない場合にのみ一致します。\n\r
rtpHarry

うん。rtpHarryに同意します。これが私の答えから、この部分である:「任意の改行文字(\ n)がされていない現在、キャリッジリターン(\ r)とが先行」。
Sean

1
最も洗練されたソリューション!
Philipp Michalski

4
技術的には、これがこのページで最も正確で完全な答えです。
dotNET

8

すべてを正規表現で置き換える

(\r?\n)|(\r\n?)

\r\n

これは、考えられるすべての行末パターン(単一の\ r、\ nまたは\ r \ n)を\ r \ n(Windows)に一致させます。

複数のファイルを操作するには、次のいずれかを実行します。

  • 「置換」タブの「開いているすべてのドキュメントのすべてを置換」を使用します。最初にすべてのファイルをNotepad ++にドラッグアンドドロップする必要があります。操作するファイルを制御できるのは良いことですが、数百または数千のファイルがある場合は遅くなる可能性があります。
  • 「ファイルの検索」タブの「ファイルの置換」。選択したファイルフィルター(たとえば、指定した1つのディレクトリの下の* .cpp * .cs)。

行末のすべてのフレーバーで機能するため、ベストアンサー。ありがとう!
ヨーヨー

これが最善かつ最も簡単な答えです。
user1447420

5

1時間グーグルした後、私が複数のファイル/フォルダーに対して見つけた唯一の実用的な解決策はこれです:

  • PyChamトライアルモードをインストールし、
  • プロジェクトフォルダー/フォルダーを開いて選択し、スクリーンショットに従ってください

ここに画像の説明を入力してください


IntelliJ IDEA Community Editionでも動作します。これは無料で、トライアルは必要ありません。IntelliJ IDEA
CodeMonkey

1

このディスカッションを介してこのソリューションを見つけました:

[設定]-> [設定]-> [新しいドキュメント/デフォルトディレクトリ]を選択し、[形式]ボックスで[Unix / OSX]を選択して、notepad ++でデフォルトのEOLを設定することもできます。

注:コマンドラインを使用して、帯域外オプションをいつでも使用できます。

unix2dos *.cmd
dos2unix *.sh

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.