1

シェルスクリプトを使用して角かっこで囲まれたデータのスペースを置き換えたい。私の入力行は

2012-05-21 06:37:16 M NumberOfHwEntitiesMismatch Cabinet = 1(構成されていないSAUが検出されました。)

出力を次のようにします。

2012-05-21 06:37:16 M NumberOfHwEntitiesMismatch Cabinet = 1(SAU_that_is_not_configured_detected。)

何か提案してください…。

4

1 に答える 1

1

を使用awkして "(" で分割し、次に を使用gsubして 2 番目のフィールドのスペースをアンダースコアに置き換えます。

例:

$ awk -F\( '{gsub(" ","_", $2);print $1"("$2}' <<< "2012-05-21 06:37:16 M NumberOfHwEntitiesMismatch Cabinet=1 (SAU that is not configured detected.)"
2012-05-21 06:37:16 M NumberOfHwEntitiesMismatch Cabinet=1 (SAU_that_is_not_configured_detected.)

(これは、入力にブラケットのセットが 1 つしかないことを前提としています。)

于 2012-06-01T07:38:28.490 に答える