我想添加一个虚拟 IP 地址,但只有在找到两个连续的重复行之后。
我在 Linux 系统上工作,这是我的输入文件:
IP_Remote_Address
Address : 192.168.1.1
IP_Remote_Address
Address : 192.168.1.2
IP_Remote_Address
Address : 192.168.1.3
IP_Remote_Address
IP_Remote_Address
Address : 192.168.1.4
IP_Remote_Address
Address : 192.168.1.5
IP_Remote_Address
Address : 192.168.1.6
IP_Remote_Address
Address : 192.168.1.7
IP_Remote_Address
IP_Remote_Address
Address : 192.168.1.8
Run Code Online (Sandbox Code Playgroud)
我想要的输出:
IP_Remote_Address
Address : 192.168.1.1
IP_Remote_Address
Address : 192.168.1.2
IP_Remote_Address
Address : 192.168.1.3
IP_Remote_Address
Address : NOT_FOUND
IP_Remote_Address
Address : 192.168.1.4
IP_Remote_Address
Address : 192.168.1.5
IP_Remote_Address
Address : 192.168.1.6
IP_Remote_Address
Address : 192.168.1.7
IP_Remote_Address
Address : NOT_FOUND
IP_Remote Address
Address …Run Code Online (Sandbox Code Playgroud) 我有一个包含 IP 地址列表的文件,但有些字符串不是 IP 地址,我想用虚拟 IP 地址替换这些字符串。
我正在使用它grep来搜索 IP;但不知道如何替换与虚拟 IP 地址不匹配的内容。我相信这可以通过sed. 我尝试了几件事,但没有一个奏效。
cat file.txt | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
Run Code Online (Sandbox Code Playgroud)
我有这个sed来匹配文件中的 IP 地址,但我不知道如何用虚拟 IP 替换非 IP 地址。
sed -rn '/([0-9]{1,3}\.){3}[0-9]{1,3}/p' file.txt
Run Code Online (Sandbox Code Playgroud)
输入:
192.168.10.20
00 03
10.28.214.5
192.168.10.40
BF
192.168.10.50
Run Code Online (Sandbox Code Playgroud)
期望输出:
192.168.10.20
192.168.0.0
10.28.214.5
192.168.10.40
192.168.0.0
192.168.10.50
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有以下命令
cat filename
Run Code Online (Sandbox Code Playgroud)
输出:
0040
0042
0048
0043
Run Code Online (Sandbox Code Playgroud)
如果我这样做cat filename | sort -r,输出是:
0048
0043
0042
0040
Run Code Online (Sandbox Code Playgroud)
我不想那样;它看起来是按降序而不是相反的顺序排序的。
我想要以下输出(真正的反向顺序)
0043
0048
0042
0040
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?