Как заменить текст во всех файлах в указанной папке
Перейти к содержимому

Как заменить текст во всех файлах в указанной папке

  • автор:

Изменение одной строки во многих файлах

Всем привет.Есть множество файлов (пусть 50), в них есть одинаковая ссылка.Ее необходимо изменить на другую во всех файлах.Кто может подсказать как это сделать быстро?Идеально было бы сделать это в редакторе Brackets или Sublime.Файлы .html

Отслеживать
задан 15 июл 2017 в 6:53
362 2 2 серебряных знака 20 20 бронзовых знаков

кто-то может. // вряд ли вас интересует буквальный ответ на ваш вопрос. переформулируйте, пожалуйста, текст вопроса (нажав править ниже текста вопроса) так, чтобы на него можно было дать полноценный ответ

15 июл 2017 в 7:12
PS> ls *.txt -rec | % | sc $f.PSPath>
15 июл 2017 в 8:24

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

1-й Вариант — открывая все нужные файлы

1) Откройте все файлы в нём;

2) нажмите Поиск-Замена;

3) Заполните поля «Найти», «Заменить на».

4) Нажмите «Заменить во всех открытых документах»

2-й вариант — без открытия всех файлов

1) Откройте один любой файл из нужной папки;

2) нажмите Поиск-Замена, вкладка Найти в файлах;

3) Заполните поля «Найти», «Заменить на», укажите папку для замены (если нужно, отметьте «заменить в подпапках»).

4) Нажмите «Заменить в файлах»

Для поиска вы также можете использовать регулярные выражения (если нужно)

Как заменить текст во всех файлах в указанной папке

Сообщения: 19
Благодарности: 1

Доброго времени суток!
Есть каталог, в котором находится большое количество текстовых файлов с именами 1.txt, 2.txt и так далее до, например, 56.txt. Также в этом каталоге лежит файл с именем replace.txt.
Сожержимое файлов 1.txt, 2.txt и так далее одинаковое:

"Ap_s"= 1.781'**пропускная "Kd2"= ( 4.906 - 0.5 ) * 2'**коэф диф в осевом d_напорн / b "delta"= 4.188'**рад зазор "D1@Эскиз29"= "rk" * 2 + "delta" "D29@Эскиз1"= "rk" * 2 + "delta"

Сожержимое файла replace.txt:

1.721 4.916 4.188 1.781 4.906 4.388 1.741 4.936 3.988 .

т.е. в нем 56 строк, в каждой по 3 числа, разделенных пробелами.
Необходимо сделать батник, запустив который, произойдет следующее:
В файле 1.txt числа 1.781, 4.906, 4.188 заменятся на соответствующие числа из файла replace.txt, находящиеся в первой строке. Затем тоже самое проихойдет в файле 2.txt, только числа берутся уже со второй строки и так далее.

Нашел батник, который может менять определенные строки в одном файле строками из другого файла:

@Echo Off SetLocal EnableDelayedExpansion :: Обрабатываемый файл Set file=e:\Temp\list 1.txt :: Файл с заменами (содержит только две строки по условию задачи) Set filechang=e:\Temp\list 2.txt :: Два образца строк, подлежащих замене Set srt1=First text Set srt2=Second text Set cnt =0 For /F "usebackq tokens=* delims=" %%i In ("%filechang%") Do ( Set /A cnt +=1 Set chang!cnt!=%%i ) For /F "usebackq tokens=* delims=" %%i In ("%file%") Do ( If "%%i"=="%srt1%" ( Echo %chang1%>>test.txt ) Else ( If "%%i"=="%srt2%" ( Echo %chang2%>>test.txt ) Else ( Echo %%i>>test.txt ) ) ) Copy test.txt "%file%" /Y>Nul Del test.txt>Nul

но он не подходит тем, что заменяет именно строки строками.
Файл replace.txt впринципе можно переформатировать, заменив все пробелы переходами на следующую строку, таким образом для замены чисел из файла 1.txt потребуются первые 3 строки файла replace.txt и так далее.
Непонятно, как сделать так, что б искался именно текст, а не строка. Также непонятно, как это всё запихнуть в цикл, что б перебирать файлы.
Буду очень признателен за помощь.

Массовая замена текста в файлах с помощью PHP или поиск в них

Этот пример может быть полезен, при работе с большим количеством файлов.

Пример ниже покажет, как можно перебрать все файлы в заданной папке, а также во всех вложенных папках и заменить в них строку на строку.

Вместо замены, этот код можно взять за основу, когда нужно создать поиск по файлам в папке и подпапках.

$oldText = 'old text'; // что меняем $newText = 'new text'; // на что меняем $folderName = "./files"; // в какой папке меняем // запускаем функцию replace_txt( $folderName, $oldText, $newText ); /** * Функция замены текста во всех файлах папки * @param string $folderName - пусть до папки * @param string $oldText - искомый текст * @param string $newText - на что меняем текст */ function replace_txt( $folderName, $oldText, $newText ) < $dir = opendir( $folderName ); // открываем текущую папку // перебираем папку, пока есть файлы while( false !== ($file = readdir($dir)) )< // если это не папка if( $file != '.' && $file != '..' )< $file_path = "$folderName/$file"; // это файл if( is_file($file_path) )< $file_content = file_get_contents( $file_path ); // получаем конетнт файла // для работы с файлами в кодировке windows-1251 //$file_content = iconv( "windows-1251", "utf-8", $file_content ); // делаем замену в тексте $file_content = str_replace( $oldText, $newText, $file_content ); // сохраняем изменения file_put_contents( $file_path, $file_content ); >// это папка, рекурсивно вызываем replace_txt() elseif( is_dir($file_path) ) < replace_txt( $file_path, $oldText, $newText ); >> > closedir( $dir ); // закрываем папку >

Документация

Вы можете искать и необязательно заменять любой текст в файле, открытом в редакторе или Live Editor. Чтобы искать текст в файле, на вкладке Editor или Live Editor, в разделе Navigate, нажмите кнопку Найти. Можно также использовать Ctrl+F горячая клавиша.

В диалоговом окне поиска и замены введите текст, который вы хотите искать, а затем используйте кнопки Find Next и Find Previous для поиска вперед или назад через файл. В Live Editor и в MATLAB ® Online™ используйте кнопки и или F3 и Shift+F3 горячих клавиш.

Чтобы найти текст, соответствующий регистру текста поиска, установите флажок Match case. Чтобы найти точное соответствие полному слову, установите флажок Whole word. В Live Editor и в MATLAB Online эти опции доступны с помощью кнопок и .

Чтобы заменить текст в файле, введите текст, которым вы хотите заменить текст поиска, а затем используйте кнопки Replace или Replace all, чтобы заменить текст. В Live Editor и MATLAB Online нажмите кнопку развертывания слева от поля поиска, чтобы открыть опции замены. Затем введите текст, который необходимо заменить текстом поиска, и используйте кнопки и для замены текста.

Поиск и замена функций или переменных в текущем файле

Чтобы искать ссылки на конкретную функцию или переменную, используйте функцию автоматической подсветки для переменных и функций. Эта функция более эффективна, чем использование инструментов поиска текста. Подсветка функции и переменной указывает только на ссылки на конкретную функцию или переменную, не на другие вхождения. Например, он не находит образцы функции или имени переменной в комментариях. Кроме того, подсветка переменных включает только ссылки на ту же переменную. То есть, если две переменные используют одно и то же имя, но находятся в разных возможностях, подсветка одной не заставляет другую подсвечивать.

Поиск ссылок на функцию или переменную с помощью автоматической подсветки путем следующих шагов:

  1. В файле, открытом в редакторе, щелкните образец переменной, которую вы хотите найти в файле. MATLAB указывает все вхождения этой переменной в файле следующим образом:
  • Подсветка их в синем цвете (по умолчанию) на протяжении всего файла
  • Добавление маркера для каждого на панели индикаторов Если индикатор анализатора кода и индикатор переменной появляются в одной линии в файле, маркер переменной имеет приоритет.

На этом изображении показан пример вида редактора с включенной подсветкой переменных. На изображении переменная i появляется подсвеченным небесно-синим цветом, а индикаторная полоса содержит три переменных маркера.

Чтобы отключить автоматическую подсветку, перейдите на вкладку Home и в разделе Environment нажмите Preferences. В MATLAB Colors > Programming Tools > снимите флажок Automatically highlight.

Автоматическое переименование всех функций или переменных в файл

Чтобы помочь предотвратить типографские ошибки, MATLAB предоставляет функцию, которая помогает переименовать несколько ссылок в функцию или переменную в файле, когда вы вручную изменяете любое из следующего:

Имя функции в объявлении функции

Переименовать foo в:

Вход или выходной переменной в объявлении функции

Переименовать y или m в:

function y = foo(m)

Имя переменной в левой части оператора назначения

Переименовать y в:

Когда вы переименуете такую функцию или переменную, всплывающая подсказка открывается, если в файле есть более одной ссылки на эту переменную или функцию. Подсказка указывает, что MATLAB переименует все образцы функции или переменной в файле при нажатии Shift + Enter.

Как правило, несколько ссылок на функцию появляются, когда вы используете вложенные функции или локальные функции.

Примечание

MATLAB не запрашивает вас при изменении:

  • Имя глобальной переменной.
  • А входной параметр функции и выходные аргументы, varargin и varargout .

Чтобы отменить автоматическое изменение имен, щелкните один раз.

Автоматическое переименование переменной и функции включено по умолчанию. Чтобы отключить его:

  1. На вкладке Home, в разделе Environment, нажмите Preferences.
  2. Выберите MATLAB >Editor/Debugger >Language.
  3. В поле Language выберите MATLAB.
  4. Очистить Enable automatic variable and function renaming.

В MATLAB Online настройки переименования переменных и функций расположены под MATLAB > Editor/Debugger > MATLAB Language.

Поиск текста в нескольких именах файлов или файлах

Можно найти папки и имена файлов, которые содержат заданный текст или содержимое которых содержит заданный текст. На вкладке Editor или Live Editor, в разделе File, нажмите Find Files, чтобы открыть диалоговое окно Find Files. Чтобы открыть диалоговое окно «Поиск файлов» в MATLAB Online, на вкладке Editor или Live Editor, в разделе Navigate, нажмите Find и выберите Find Files . Для получения дополнительной информации см. Раздел «Поиск файлов и папок».

Функциональная альтернатива для поиска текста

Использовать lookfor поиск указанного текста в первой линии справки для всех файлов с .m расширение в пути поиска файлов.

Перейти к местоположению в файле

Можно зайти в определенное место в файле, задать закладки, перемещаться назад и вперед в файле и открыть файл или переменную из файла.

Переход к определенному местоположению

В этой таблице показано, как перейти в определенное место в файле, открытом в редакторе и Live Editor.

Номер линии

На вкладке Editor или Live Editor, в разделе Navigate, нажмите Go To. Выберите Go to Line. и укажите линию , к которой необходимо перейти.

Определение функции

На вкладке Editor или Live Editor, в разделе Navigate, нажмите Go To. В Function разделе выберите локальную функцию или вложенную функцию, к которой вы хотите перейти.

Можно также выбрать файл в браузере Текущей папки и щелкнуть стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок функции , соответствующий заголовку функции или локальной функции, к которой вы хотите перейти.

Включает локальные функции и вложенные функции.

Как для файлов классов, так и для файлов функции список функций в алфавитном порядке — кроме того, что в файлах функции имя основной функции всегда появляется в верхней части списка.

Секция кода

На вкладке Editor или Live Editor, в разделе Navigate, нажмите Go To. В Sections разделе выберите заголовок секции кода, к которому необходимо перейти .

Можно также выбрать файл в браузере Текущей папки и щелкнуть стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок раздела , соответствующий заголовку раздела, к которому необходимо перейти.

Для получения дополнительной информации см. Раздел «Разделение файла на секции кода».

Свойство

В браузере Текущей папки выберите файл, через который необходимо перемещаться, и щелкните стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок свойства , соответствующий имени свойства, к которому необходимо перейти.

Дополнительные сведения см. в разделе Способы использования свойств.

Метод

В браузере Текущей папки выберите файл, через который необходимо перемещаться, и щелкните стреле вверх в нижней части браузера Текущей папки, чтобы открыть панель «Сведения». Затем на панели «Сведения» дважды щелкните значок , соответствующий имени метода, к которому необходимо перейти.

Для получения дополнительной информации см. «Методы в проекте классов».

Закладка

На вкладке Editor, в разделе Navigate, нажмите Go To. В Bookmarks разделе выберите Previous или Next.

Чтобы перейти к закладке в Live Editor и в MATLAB Online , перейдите на вкладку Live Editor или Editor, а в разделе Navigate нажмите Bookmark. Затем выберите Previous или Next.

Для получения информации об установке и очистке закладок см. раздел «Установка закладок».

Примечание

Панель «Сведения» не отображает подробную информацию для live скриптов или live функций и недоступна в MATLAB Online .

Установка закладок

Закладку можно задать в любой линии файла в редактор или Live Editor, чтобы можно было быстро перейти к линии с закладками. Это особенно полезно в длинных файлах. Для примера предположим, что во время работы над линией вы хотите посмотреть другую часть файла, а затем вернуться. Установите закладку в текущей линии, перейдите в другую часть файла, а затем используйте закладку для возврата.

Чтобы задать закладку в редакторе, установите курсор на линии, к которой необходимо добавить закладку. Затем перейдите на вкладку Editor, а в разделе Navigate нажмите Go To. В разделе Bookmarks выберите Set/Clear. Слева от линии появляется значок закладки . Чтобы удалить закладку, с помощью курсора в любом месте на линии с закладкой, нажмите Go To и под Bookmarks, выберите Set/Clear .

Чтобы установить закладку в Live Editor и в MATLAB Online , с помощью курсора на линии, к которой необходимо добавить закладку, перейдите на вкладку Live Editor или Editor, а в разделе Navigate нажмите Bookmark. Чтобы удалить закладку, нажмите кнопку Bookmark и выберите Set/Clear . Вы также можете щелкнуть значок закладки слева от линии.

MATLAB не поддерживает закладки после закрытия файла.

Перемещайтесь назад и вперед в файлах

В редакторе вы можете получить доступ к линиям в файле в той же последовательности, в которой вы ранее перемещались или редактировали их. Чтобы последовательно перемещаться назад и вперед, на вкладке Editor, в разделе Navigate, нажмите кнопки и . Навигация назад и вперед не поддерживается в Live Editor или в MATLAB Online.

Нажатие кнопки и прерывает последовательность назад и вперед. Редактирование линии или переход к другой строке с помощью списка функций, описанных в разделе «Навигация в определенное место», также прерывает последовательность.

Когда последовательность прерывается, вы все еще можете перейти к линиям, предшествующим точке прерывания в последовательности, но вы не можете перейти ни к каким линиям после этой точки. Все линии, к которым вы редактируете или перемещаетесь после прерывания последовательности, добавляются к последовательности после точки прерывания.

Например, в редакторе откройте файл, содержащий более 6 линии, и отредактируйте линии 2, 4 и 6. Нажмите кнопку для возврата к строке 4, а затем еще раз для возврата к строке 2. Нажмите кнопку для возврата к строке 4. Отредактируйте линию 3. Это прерывает последовательность. Вы больше не можете использовать кнопку для возврата к 6 строке. Однако для возврата к строке 2 можно нажать кнопку .

Откройте файл или переменную из файла

Можно открыть функцию, файл, переменную или Simulink ® модель из файла в редактор или Live Editor. Поместите курсор на имя, а затем щелкните правой кнопкой мыши и выберите Open выбор из контекстного меню. На основе выделенного фрагмента Редактор или Live Editor выполняет другое действие, как описано в этой таблице.

Переходит к локальной функции в текущем файле, если этот файл является файлом кода MATLAB. Если в текущем файле нет функции под этим именем, редактор или Live Editor запускает open функция на выделенной области, которая открывает выделенную область в соответствующем инструменте.

Откроется в редакторе.

Файл фигуры ( .fig )

Откроется в окне рисунка.

Переменный MATLAB, которая находится в текущей рабочей области

Откроется в редакторе переменных.

Откроется в Simulink.

Если выбран другой тип, Open выбор ищет соответствующий файл в закрытой папке в текущей папке и выполняет соответствующее действие.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *