同じ文字のみを含むすべての行を見つけ、同じ数の異なる文字に置き換えます。

同じ文字のみを含むすべての行を見つけ、同じ数の異なる文字に置き換えます。

私の目標は、appstream-util appdata-to-newsNEWS形式(の出力)をマークダウン形式(GitHub / GitLabで使用するため)に変換することです。

私にとって良い近似はここから始めることです。

Version 0.5.1
~~~~~~~~~~~~~
Released: 2019-01-03

 * This is a test with a ~ tilde ~~~~
 * Second line

これに関して

Version 0.5.1
=============
Released: 2019-01-03

 * This is a test with a ~ tilde ~~~~
 * Second line

しかし、現在のソリューションはtr '~' '='以下を提供します。

Version 0.5.1
=============
Released: 2019-01-03

 * This is a test with a = tilde ====
 * Second line

これを含むすべての行のみを見つける正規表現は、~次のようになります。^~*$ しかし、bash / sed / awkを使用して同じ番号をどのように変更しますか=

ベストアンサー1

チルダのみを含む行でパターンマッチングを実行し、文字ごとに置換を実行できます。

sed '/^~*$/s/~/=/g'

おすすめ記事