タグ間のスペースをパイプに置き換える

タグ間のスペースをパイプに置き換える

「{}」タグにファイルがあります。パイプ形式に変換する必要があります。

例は次のとおりです。

{Id USXXXXXX} {Code USXXXXX} {Desc abcd 6.000% 5/24}

予想結果1:

{Id|USXXXXXX} {Code|USXXXXX} {Desc|abcd 6.000% 5/24}

予想結果2:

Id|USXXXXXX|Code|USXXXXX|Desc|abcd 6.000% 5/24

ベストアンサー1

これはあなたにどのように機能しますか?

awk '{for(i=1; i<=NF; i++) {if ($i ~ /^{/) {printf("%s|", $i)} else {printf("%s ", $i)}} printf("\n")}' test.in

予想結果1について

awk '{for(i=1; i<=NF; i++) {if ($i ~ /^{/) {printf("%s|", $i)} else {printf("%s ", $i)}} printf("\n")}' test.in | sed -e 's#^{##' -e 's#} {#|#g' -e 's#} $##'

予想される結果は2です。

おすすめ記事