Пакетная замена текста

341
nobody

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

Например:

Допустим, у меня есть список «aA», «aB», и я хочу заменить «aA» на «AA».

Что такое программа, которая может сделать это легко?

1
Практически любой язык сценариев может справиться с этим легко: AutoIt, Python, Perl и т. Д. MaQleod 12 лет назад 0
Я пробовал это с Python, но логика не работает должным образом, поэтому теперь мне нужен инструмент. nobody 12 лет назад 0
Попробуйте notepad ++, вы можете выполнить групповую замену строк во многих файлах: http://www.makeuseof.com/tag/how-to-find-and-replace-words-in-multiple-files/ или вы можете опубликовать свой Python код и иметь мод перенести это на StackOverflow.com, и они помогут вам там. MaQleod 12 лет назад 0

2 ответа на вопрос

4
psusi

Это именно то, для чего sedбыла сделана программа.

хорошо, если он имеет в виду сменить строчные буквы на прописные, то, возможно, не так просто с sed. если он имеет в виду просто изменить некоторые особенности, например от АА до АА, то да. barlop 12 лет назад 0
Или "бывший". Или действительно `tr`, если использование` sed` для изменения регистра воспринимается как сложное (что, по крайней мере, с GNU `sed`, на самом деле не так). JdeBP 12 лет назад 0
1
Joe Internet

Как Perl с одним вкладышем, чтобы повторить функциональность sed ...

perl -pe " s/aA/AA/g; s/aB/AB/g; " < input.txt > output.txt 

Это превратит этот input.txt ...

aA, aA, aA, aA, aA aB, aB, aB, aB, aB 

в этот output.txt ...

AA, AA, AA, AA, AA AB, AB, AB, AB, AB 

Это делается с помощью подстановки регулярных выражений ...

s(ubstitute)/this-original-string/with-this-new-string/g(lobally) 

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