[英]grep variable string in file
我必须在文件中找到以下字符串:
200 https://www.example.example
值200是随机的,我必须找到每个HTTP返回码(例如200、301、404等...等)
我怎样才能只对带有返回代码变量的字符串进行grep(我不想在grep命令中指定每个返回代码)?
cat file.txt | grep "*** http*"
但这是行不通的。
因此,您要匹配以三位数字开头,后跟“ http”的任何行吗?
grep -E '^[0-9]{3} http' file.txt
如fedorqui(感谢)所建议的那样更准确:
grep -E '^[1-5][0-9]{2} http' file.txt
这将匹配100-599范围内的数字,该范围更接近HTTP状态代码的范围。
首先,不需要使用grep
cat
。 它本身可以带有一个文件参数。
你可以这样做:
grep '^[1-5][0-9]\{2\}[[:blank:]]\+http' file.txt
这将使您符合条件的每一行。
如果只需要返回代码,则可以运行另一个grep或使用其他命令,例如,使用cut
:
grep '^[1-5][0-9]\{2\}[[:blank:]]\+http' file.txt | cut -d ' ' -f1
和grep,
grep '^[1-5][0-9]\{2\}[[:blank:]]\+http' file.txt | grep -o '^[0-9]\+'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.