У нас есть исходный файл («source-A»), который выглядит следующим образом (если вы видите синий текст, это происходит из stackoverflow, а не из текстового файла):
The container of white spirit was made of aluminium.
We will use an aromatic method to analyse properties of white spirit.
No one drank white spirit at stag night.
Many people think that a potato crisp is savoury, but some would rather eat mashed potato.
...
more sentences
Каждое предложение в "source-A "находится на отдельной строке и оканчивается новой строкой (\ n)
У нас есть файл словаря / преобразования (" converse-B "), который выглядит следующим образом:
aluminium<tab>aluminum
analyse<tab>analyze
white spirit<tab>mineral spirits
stag night<tab>bachelor party
savoury<tab>savory
potato crisp<tab>potato chip
mashed potato<tab>mashed potatoes
"converse-B" - файл с двумя вкладками, разделенный табуляцией.Каждая карта эквивалентности ( член слева) <tab>
член справа ) находится на отдельной строке и заканчивается новой строкой (\ n)
Как прочитать «converse-B» и заменить термины в «source-A», где термин в «reverse-B» column-1 заменяется термином в column-2, а затем записать в выходной файл («output»-C ")?
Например," output-C "будет выглядеть следующим образом:
The container of mineral spirits was made of aluminum.
We will use an aromatic method to analyze properties of mineral spirits.
No one drank mineral spirits at bachelor party.
Many people think that a potato chip is savory, but some would rather eat mashed potatoes.
Сложная часть - это термин potato.
Если«простое» решение awk
не может обрабатывать единичный термин (картошка) и во множественном числе (картошка), мы будем использовать метод ручной замены.Решение awk
может пропустить этот вариант использования.
Другими словами, решение awk
может предусматривать, что оно работает только для однозначного слова или термина, состоящего из разделенных пробелом однозначных слов.
Решение awk
даст нам 90% -ную степень завершения;оставшиеся 10% мы сделаем вручную.