テキストファイル内の特殊文字を見つけて置換するスクリプトを作成するためのガイダンスを探しています。
この疑似コードを思いついたのですが、空白を埋めるのは少し難しいです:
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
そして期待される出力:
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テキストプロセスは厳密に行指向であるため、改行を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'