Regex 使用正则表达式在文件中搜索字符串模式,在
我有一个很大的日志文件,我想从该文件中获取某些信息。 我正在尝试使用grep和regex来提取数据,但我没有取得任何进展 单行的格式为:Regex 使用正则表达式在文件中搜索字符串模式,在,regex,unix,grep,Regex,Unix,Grep,我有一个很大的日志文件,我想从该文件中获取某些信息。 我正在尝试使用grep和regex来提取数据,但我没有取得任何进展 单行的格式为: 000.00.000.00,000,xxx,xxx.xxx.xxx,xxx 零=数字,x=字符 但我要在第二个“,”和最后一个“,”之前的所有东西 我一直在努力 grep [[a-zA-Z].\.[a-zA-Z].\.[a-zA-Z]] 各种各样的,但我还没有设法得到它 我希望得到的只是: ','xxx.xxx.xxx',' 但是如果没有,.如果您对se
000.00.000.00,000,xxx,xxx.xxx.xxx,xxx
零=数字,x=字符
但我要在第二个“,”和最后一个“,”之前的所有东西
我一直在努力
grep [[a-zA-Z].\.[a-zA-Z].\.[a-zA-Z]]
各种各样的,但我还没有设法得到它
我希望得到的只是:
','xxx.xxx.xxx','
但是如果没有,.如果您对sed满意,请根据您的描述尝试以下内容
sed 's/\([^,]*\),\([^,]*\),\([^,].*\)\(.*\)/'"'"','"'"'\3'"'"','"'"'/' Input_file
这里我使用的是sed将匹配的正则表达式值保存到内存中的功能,我们可以在替换过程中使用它。如果您对sed没有意见,请根据您的描述尝试以下内容
sed 's/\([^,]*\),\([^,]*\),\([^,].*\)\(.*\)/'"'"','"'"'\3'"'"','"'"'/' Input_file
在这里,我使用sed将匹配的regex值保存到内存中的功能,我们可以在替换过程中使用它。使用Perl:
perl -ape 's/^.+?[a-z]+,([^,]+).*$/$1/i' file
输出:
说明:
使用Perl:
perl -ape 's/^.+?[a-z]+,([^,]+).*$/$1/i' file
输出:
说明:
使用python:
import re
str = "000.00.000.00,000,xxx,xxx.xxx.xxx,xxx"
matched = re.findall('.*([a-zA-Z]{3}\.[a-zA-Z]{3}\.[a-zA-Z]{3}),[a-zA-Z]{3}$',str)
print(matched)
使用python:
import re
str = "000.00.000.00,000,xxx,xxx.xxx.xxx,xxx"
matched = re.findall('.*([a-zA-Z]{3}\.[a-zA-Z]{3}\.[a-zA-Z]{3}),[a-zA-Z]{3}$',str)
print(matched)
是的,我会给它一个有效的goyea,但它在字符串的末尾加了“,”和after@trigster,很高兴它帮助了你,给它一些时间,当你有几个答案时,你也可以从中选择任何一个答案作为正确答案,干杯。对不起,那不起作用,我有点匆忙,它仍然添加了逗号之前和之后的所有内容,但它确实去掉了数字符号,我会给它一个有效的符号,但它在字符串的末尾加了“,”和after@trigster,很高兴它帮助了你,找个时间给它,当你的答案不多时,你也可以从中选择正确的答案,干杯。对不起,那没用,我有点匆忙,它仍然在逗号之后添加了前面的所有内容,但确实删除了数字