Kar*_*hik 1 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 }'
Run Code Online (Sandbox Code Playgroud)
正则表达式可以捕获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}'
Run Code Online (Sandbox Code Playgroud)
test.csv
1.1.1.1 ipaddress gateway
2.2.2.2 ipaddress_2 firewall
www.google.com domain google
Run Code Online (Sandbox Code Playgroud)
您可以使用grep以下命令更轻松地完成此操作:
grep -P '^\d+(\.\d+){3}\s' test.csv
Run Code Online (Sandbox Code Playgroud)
要么
grep -P '^\d{1,3}(\.\d{1,3}){3}\s' test.csv
Run Code Online (Sandbox Code Playgroud)