小编Jav*_*lez的帖子

如何在连续的重复行之间插入一行?

我想添加一个虚拟 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)

sed awk text-processing

5
推荐指数
2
解决办法
580
查看次数

如何用虚拟 IP 地址替换与 IP 地址不匹配的字符串?

我有一个包含 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)

谢谢!

text-processing ip-address

3
推荐指数
3
解决办法
790
查看次数

如何以相反的顺序而不是降序对文件列表进行排序?sort -r 不符合我的要求

我有以下命令

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)

我怎样才能做到这一点?

linux

-1
推荐指数
1
解决办法
1543
查看次数

标签 统计

text-processing ×2

awk ×1

ip-address ×1

linux ×1

sed ×1