Редактирование большого количества текстовых файлов

У меня есть приблизительно 350 текстовых файлов, которые включают все содержание 5 папок на моем HD. Для каждого из этих файлов я хотел бы удалить конкретное количество символов в запуске и конце каждого файла. Я не знаю о AppleScript, но подозреваю, что это может подойти для того, чего я хочу достигнуть. Любая справка при автоматизации этого значительно ценилась бы, поскольку вручную редактирующий эти файлы грандиозная задача.Большое спасибо.

Следующий текст должен быть удален из запуска каждого файла:

STARTTYPE:RGIN
MODEXP:NO

Следующие потребности, которые будут удалены из конца каждого файла:

REFACTORSCALE:2.0
ENDTYPE:FACTORED
1
задан J. Polfer 25 July 2010 в 18:20
поделиться

1 ответ

Есть ли в OS X команда unix sed? Она была разработана для решения именно такого типа проблем.

Вы можете сказать (предполагая, что текст для удаления одинаков в каждом файле):

sed -i 's/STARTTYPE:RGIN\nMODEXP:NO\n//' file_pattern
sed -i 's/REFACTORSCALE:2.0\nENDTYPE:FACTORED\n//' file_pattern

Например, допустим, нужно отредактировать кучу файлов .txt в этих 5 каталогах в вашем домашнем каталоге. Вы можете сделать:

sed -i 's/STARTTYPE:RGIN\nMODEXP:NO\n//' /home/Run_Loop/directory_1/*.txt
sed -i 's/REFACTORSCALE:2.0\nENDTYPE:FACTORED\n//' /home/Run_Loop/directory_1/*.txt
sed -i 's/STARTTYPE:RGIN\nMODEXP:NO\n//' /home/Run_Loop/directory_2/*.txt
sed -i 's/REFACTORSCALE:2.0\nENDTYPE:FACTORED\n//' /home/Run_Loop/directory_2/*.txt
sed -i 's/STARTTYPE:RGIN\nMODEXP:NO\n//' /home/Run_Loop/directory_3/*.txt
sed -i 's/REFACTORSCALE:2.0\nENDTYPE:FACTORED\n//' /home/Run_Loop/directory_3/*.txt
sed -i 's/STARTTYPE:RGIN\nMODEXP:NO\n//' /home/Run_Loop/directory_4/*.txt
sed -i 's/REFACTORSCALE:2.0\nENDTYPE:FACTORED\n//' /home/Run_Loop/directory_4/*.txt
sed -i 's/STARTTYPE:RGIN\nMODEXP:NO\n//' /home/Run_Loop/directory_5/*.txt
sed -i 's/REFACTORSCALE:2.0\nENDTYPE:FACTORED\n//' /home/Run_Loop/directory_5/*.txt
2
ответ дан 2 September 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: