如何用“替换空格”_&引用;在括号之间的数据中使用shell脚本?

如何用“替换空格”_&引用;在括号之间的数据中使用shell脚本?,shell,unix,Shell,Unix,我想用shell脚本替换括号中写入的数据中的空格。 我的输入行是 2012-05-21 06:37:16 M实体数量不匹配机柜=1 (检测到未配置的SAU。) 我希望我的输出是: 2012-05-21 06:37:16 M实体数量不匹配机柜=1 (SAU_未配置_检测到。) 请给我一些建议……使用awk,在“(”上拆分,然后使用gsub将第二个字段中的空格替换为下划线 例如: $ awk -F\( '{gsub(" ","_", $2);print $1"("$2}' <<<

我想用shell脚本替换括号中写入的数据中的空格。 我的输入行是

2012-05-21 06:37:16 M实体数量不匹配机柜=1 (检测到未配置的SAU。)

我希望我的输出是:

2012-05-21 06:37:16 M实体数量不匹配机柜=1 (SAU_未配置_检测到。)


请给我一些建议……

使用
awk
,在“(”上拆分,然后使用
gsub
将第二个字段中的空格替换为下划线

例如:

$ 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.)

$awk-F\({gsub(“,”,$2”);使用
awk
打印$1(“$2}”,在“(”上拆分),然后使用
gsub
在第二个字段中用下划线替换空格

例如:

$ 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.)

$awk-F\({gsub(“,”,““,$2”);print$1”(“$2}”)非常感谢,这是一个很好的帮助。请给我解释一下这个命令awk-F({gsub(“,”,““,$2”);print$1(“$2},
-F\(
告诉awk使用
作为字段分隔符。然后,
gsub
函数将第二个字段中的空格字符替换为下划线。最后,第一个和第二个字段被打印出来。非常感谢,这是一个很好的帮助。请向我解释这个命令awk-F('{gsub(“,““,$2);首先打印$1”(“$2},
-F\(
告诉awk使用
作为字段分隔符。然后
gsub
函数在第二个字段中用下划线替换空格字符。最后,打印出第一个和第二个字段。