Notepad++ не выполняет поиск и замену внутри архивных файлов. Ваши архивы были повреждены, потому что вы выполняли поиск и замену самих файлов RAR, а не файлов, содержащихся в них.
Предположим, вы хотите конвертировать все текстовые файлы в вашей папке с Mac в Unix. Для этого необходимо заменить все символы CR (0x0D
) на LF (0x0A
). Предположим также, что ваша папка содержит следующий файл с именем «Apple.txt.gz»:
1f 8b 08 08 9c c1 81 55 02 00 41 70 70 6c 65 2e
74 78 74 00 0b c9 c8 2c 56 28 2d 4e 4d 51 e0 2d
c9 57 48 4a 55 48 cc e3 75 2c 28 c8 49 55 88 8d
56 48 cb cc 49 d5 e3 05 2b 01 22 de e2 92 cc 9c
1c a0 02 05 0c 15 84 0d 01 00 d3 0c 65 8c 68 00
00 00
Это действительный архив gzip, содержащий небольшой текстовый файл «Apple.txt» с разрывами строк CR в стиле Mac. Обратите внимание, что он содержит 0d
в предпоследней строке.
Если вы откроете его в Notepad++, он будет выглядеть примерно так:
‹œÁU Apple.txt ÉÈ,V(-NMQà-ÉWHJUHÌãu,(ÈIUˆVHËÌIÕã+"Þâ’Ìœ „
ÓeŒh
Замена CR на LF и сохранение приведет к повреждению файла. Давай, попробуй.
Чтобы избежать этого, вам нужно указать фильтры в диалоге "Поиск в файлах". Например, если ваша папка содержит файлы .txt, .htm, .html, .rar и .avi, и вы хотите изменить только текстовые файлы и страницы HTML, введите *.txt *.htm *.html
в Поле "Фильтры". Если это по какой-то причине нецелесообразно, вам нужно переместить файлы, которые не следует изменять, из папки, в которой начинается поиск в файлах.
Если вы хотите изменить файлы внутри архивов, вы должны сначала извлечь их и повторно сжать после изменения.