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