linux - awk 打印以正则表达式开头的行(IP 地址)

标签 linux bash shell awk sed

我正在尝试读取第一列有 IP 地址的那些行的文件。

我下面的命令没有返回任何值。

cat test.csv | awk '$1 == "^[[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}]" { print $0 }'

正则表达式可以捕获IP地址。

下面也试过了,

cat test_1.csv | awk '$1~/^[[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\]/ {print $0}'

测试.csv

1.1.1.1 ipaddress gateway
2.2.2.2 ipaddress_2 firewall
www.google.com domain google

最佳答案

您可以使用 grep 更轻松地完成此操作:

grep -P '^\d+(\.\d+){3}\s' test.csv

grep -P '^\d{1,3}(\.\d{1,3}){3}\s' test.csv

关于linux - awk 打印以正则表达式开头的行(IP 地址),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39306393/

相关文章:

php - 通过 exec() 运行 PhantomJS - 包含 ~/.fonts 的问题

linux - 如何使用 sed 将 *** 更改为\textbf

ruby-on-rails - Rails 开发模式下的日志轮换?

python - 在 python shell 中执行 bash 的复杂查找命令

bash - 如何在 shell 脚本中调用 ioctl?

c - 在同一端口上接收多个多播提要 - C、Linux

linux - 使用命令行呈现 html 页面并保存它

python - 如何在 python 字典中找到具有重复值的键?

python - Q : python (using cutadapt in bash script on cluster): libpython3. 7m.so.1.0:无法打开共享对象文件:没有这样的文件或目录

linux - linux 变量 $BASH_SUBSHELL 与 $SHLVL 之间的区别