
У меня есть списки заказов пиццы клиентами, которые я сохранил в 5 отдельных .txt-файлах из моей базы данных в следующем формате:
Filename = 25Percent.TXT
"555-1211"
"555-1212"
"555-1223"
Каждый список представляет собой номер телефона в кавычках, и каждый список имеет разную длину.
Первый вопрос
У меня есть два набора переменных, которые я хотел бы заменить на каждую цитату в 5 текстовых файлах.
Две переменные будут такими:
Var A = < Discount Pizza price for phone number is "
Var B = " 25 % >
Я хотел бы запустить пакетный файл, который считывает каждую строку в текстовом файле и записывает в другой текстовый файл следующее, заменяя кавычки переменными:
New Filename = 25Percentfinished.TXT
< Discount Pizza price for phone number is "555-1211" 25 % >
< Discount Pizza price for phone number is "555-1212" 25 % >
< Discount Pizza price for phone number is "555-1223" 25 % >
Затем я бы повторил для30процентов.txt,35процентов.txt,40процентов.txtи наконец50процентов.txtфайл.
Второй вопрос
Я также хотел бы присоединить 5 новых файлов вместе
решение1
Это простой for
цикл:
for /f "tokens=*" %%a in (25Percent.txt) do (
echo ^< Discount Pizza price for phone number is %%a 25 %%% ^>>>25Percentfinished.txt
)
См for /?
. использование. Это обрабатывает файл построчно, считывая строку в переменную %%a
и добавляя измененную строку в другой файл. Символы <
и >
экранируются с помощью ^
(создавая ^<
и ^>
), поскольку они имеют особое значение в командной строке. Символ %
«экранируется» с помощью , %%%
поскольку он также является специальным символом, но не может быть экранирован, как другие.
Вы можете объединить несколько текстовых файлов следующим образом:
copy file1.txt + file2.txt + file3.txt destination.txt
Или вы можете выполнить цикл с помощью type
и добавить ( >>
) (это объединит все файлы в текущем каталоге, отсортированные в алфавитном порядке по возрастанию):
for %%a in (*.txt) do (
type %%a>>destination.txt
)
решение2
Вы не указали ОС, поэтому я предоставлю решение, которое будет работать, если оно у вас sed
есть.
$ sed -e 's/^\(.*\)$/< Discount Pizza price for phone number is \1 25 % >/' < 25Percent.TXT