Я ищу некоторые рекомендации по созданию сценария для поиска и замены специальных символов внутри текстового файла.
Я придумал этот фрагмент псевдокода, но заполнение пробелов - это бит сложнее:
Найти новую строку и amp; заменить пространством. Найти CP & amp; заменить на новую строку. Найти Mr. Mime (с пробелом) & amp; заменить на Mr.Mime (без пробела) Найти вкладку & amp; заменить по пространству Найти двойное пространство & amp; заменить на одно место Find % & amp; замените ничем (иначе просто оставьте это) Найдите «ATK DEF STA IV» & amp; замените пробелом«Найти» означает «Найти все экземпляры».
Я изучал sed, но я не могу найти, как я обрабатывать эти специальные символы.
РЕДАКТИРОВАТЬ: Как задано здесь небольшой фрагмент ввода:
CP 1593
SSS
Sudowoodo♀
ATK DEF STA IV
15 15 15 100.0%
counter
rock slide
CP 1262
SSS
Tangrowth♀4
ATK DEF STA IV
15 15 15 100.0%
vine whip
grass knot
CP 1077
SSS
Mr. Mime♀
ATK DEF STA IV
15 15 15 100.0%
confusion
psychic
И ожидаемый вывод:
1593 SSS Sudowoodo♀ 15 15 15 100.0 counter rock slide
1262 SSS Tangrowth♀4 15 15 15 100.0 vine whip grass knot
1077 SSS Mr.Mime♀ 15 15 15 100.0 confusion psychic
sed текстовый процесс строго ориентирован по строкам, поэтому довольно сложно заменить newlines на sed. Untested:
cat file |
tr '\n\t' ' ' |
sed -e 's/ CP /\n/g' \
-e 's/Mr[.] Mime/Mr.Mime/g' \
-e 's/ */ /g' \
-e 's/%//g'
sed текстовый процесс строго ориентирован по строкам, поэтому довольно сложно заменить newlines на sed. Untested:
cat file |
tr '\n\t' ' ' |
sed -e 's/ CP /\n/g' \
-e 's/Mr[.] Mime/Mr.Mime/g' \
-e 's/ */ /g' \
-e 's/%//g'
sed текстовый процесс строго ориентирован по строкам, поэтому довольно сложно заменить newlines на sed. Untested:
cat file |
tr '\n\t' ' ' |
sed -e 's/ CP /\n/g' \
-e 's/Mr[.] Mime/Mr.Mime/g' \
-e 's/ */ /g' \
-e 's/%//g'