sed
私はルーマニア語のテキストや他の適切なUnixツールを使って特定のテキスト置換操作を自動化したいと思います。これは私の要件です。
- 文字のすべてのインスタンスを内部単語
â
に置き換えます。î
- 語根が「român」の単語(「Românească」、「româneşte」など)は、変更されていないままにしてください。
- 「sunt」という単語は「sînt」に置き換える必要があります。
たとえば、
入力する:
până
împământenit
român
Românească
sunt
cugetând
予想出力:
pînă
împămîntenit
român
Românească
sînt
cugetînd
複数のスクリプトを試しましたが、sed
どちらも同時にすべての要件を満たしていませんでした。誰でも私を案内できますか?どんな助けやアドバイスにも感謝します!
ベストアンサー1
説明したように、
sed '/[rR]omân/!s/â/î/g;s/sunt/sînt/g'
次の作業が完了します。
s/â/î/g
ubstitureがs
すべて(g
部分的に)表示されるâ
かどうかî
- 「アドレス」
/[rR]omân/
が逆!
のため、このパターンを含む行では、次のコマンドは機能しません。 s/sunt/sînt/g
結局、成分の一部として単語を置き換えました。
注:あなたの例ではă
交換されます。これが必要な場合
sed '/[rR]omân/!s/[âă]/î/g;s/sunt/sînt/g'