Awk 以下日志的正则表达式可以是什么?

Awk 以下日志的正则表达式可以是什么?,awk,sed,Awk,Sed,我想删除第一个括号中的数字,并保持括号中所有其余部分完好无损 Mar 17 00:03:13 %ASA-5-106100: access-list permitted tcp 10.252.0.165(50811) -> 172.19.26.33(4902) Mar 17 00:03:16 %ASA-5-106100: access-list permitted tcp 10.252.0.166(54563) -> 172.19.26.33(4902) M

我想删除第一个括号中的数字,并保持括号中所有其余部分完好无损

Mar 17 00:03:13   %ASA-5-106100: access-list   permitted tcp  10.252.0.165(50811) ->  172.19.26.33(4902) 
Mar 17 00:03:16   %ASA-5-106100: access-list   permitted tcp  10.252.0.166(54563) ->  172.19.26.33(4902) 
Mar 17 00:03:28   %ASA-5-106100: access-list   permitted tcp  10.252.0.222(38071) ->  172.19.26.33(4902) 
Mar 17 00:03:41   %ASA-5-106100: access-list   permitted tcp  10.252.0.222(38074) ->  172.19.26.33(4902) 
Mar 17 00:03:45   %ASA-5-106100: access-list   permitted tcp  10.252.0.221(17868) ->  172.19.26.33(4902) 
Mar 17 00:03:58   %ASA-5-106100: access-list   permitted tcp  10.252.0.166(54572) ->  172.19.26.33(4902) 
Mar 17 00:03:58   %ASA-5-106100: access-list   permitted tcp  10.252.0.166(54573) ->  172.19.26.33(4902) 
Mar 17 00:03:58   %ASA-5-106100: access-list   permitted tcp  10.252.0.166(54574) ->  172.19.26.33(4902) 
Mar 17 00:04:14   %ASA-5-106100: access-list   permitted tcp  10.252.0.165(50826) ->  172.19.26.33(4902) 
Mar 17 00:04:16   %ASA-5-106100: access-list   permitted tcp  10.252.0.166(54580) ->  172.19.26.33(4902) 
Mar 17 00:04:28   %ASA-5-106100: access-list   permitted tcp  10.252.0.222(38088) ->  172.19.26.33(4902) 
Mar 17 00:04:45   %ASA-5-106100: access-list   permitted tcp  10.252.0.221(17881) ->  172.19.26.33(4902) 
我想保持(4902)完好无损,但也想去掉第一个括号中的数字

使用这个正确吗

awk '{sub('()'..... dst'()'," dst")}1'

您可以使用
sed

sed 's/([0-9]*)//' logfile
要在awk中取出第一个括号及其编号:

@巴维克:试试看:

awk '{sub(/\([0-9]+\)/,"");print}'   Input_file

它删除第一次出现的(所有数字,然后)。然后打印输入文件中的行。

@RavinderSingh13对此有什么建议吗?我刚刚添加了我的答案,如果有帮助,请告诉我。不能在单引号分隔的脚本中使用单引号。这适用于任何UNIX工具,包括您甚至不能使用它们(
\'
)。
awk '{sub(/\([0-9]+\)/,"");print}'   Input_file