入力ディスプレイ:
(TJ)-8.5(o12)-3.2(p1)-15.3(ik)-1.2(1)
結果は次のようになります。
(TJ)-.(o12)-.(p1)-.(ik)-.(1)
括弧内に含まれるすべての数字の数字は置き換えてはいけませんが、すべての数字の他のすべての数字は置き換えることができます。
答え1
GNUの使用awk
:
gawk '{print gensub(/(\([^)]*\))|[0123456789]+/, "\\1", "g")}'
デフォルトでは、次のように翻訳されますsed
。
sed -E 's/(\([^)]*\))|[0123456789]+/\1/g'
答え2
複数文字RSにGNU awkを使用する:
$ echo '(TJ)-8.5(o12)-3.2(p1)-15.3(ik)-1.2(1)' |
awk -v RS='[(][^)]+)' '{gsub(/[0-9]/,""); printf "%s%s", $0, RT}'
(TJ)-.(o12)-.(p1)-.(ik)-.(1)