zot*_*ken 1 scripts sed text-processing
我正在寻找有关创建脚本以查找和替换文本文件中的特殊字符的一些指导。
我想出了这段伪代码,但填补空白有点困难:
CP按换行符查找和替换。Mr. Mime(带空格)& 替换Mr.Mime(不带空格)%并替换为空(也就是忽略它)“查找”代表“查找所有实例”。
我一直在研究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
Run Code Online (Sandbox Code Playgroud)
和预期的输出:
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
Run Code Online (Sandbox Code Playgroud)
sed 文本处理严格面向行,因此很难用 sed 替换换行符。
未经测试:
cat file |
tr '\n\t' ' ' |
sed -e 's/ CP /\n/g' \
-e 's/Mr[.] Mime/Mr.Mime/g' \
-e 's/ */ /g' \
-e 's/%//g'
Run Code Online (Sandbox Code Playgroud)