Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 使用正则表达式在文件中搜索字符串模式,在_Regex_Unix_Grep - Fatal编程技术网

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

我有一个很大的日志文件,我想从该文件中获取某些信息。 我正在尝试使用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','
但是如果没有,.

如果您对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,很高兴它帮助了你,找个时间给它,当你的答案不多时,你也可以从中选择正确的答案,干杯。对不起,那没用,我有点匆忙,它仍然在逗号之后添加了前面的所有内容,但确实删除了数字