文本文档 linux ubuntu centos 7 IP地址排序 在文本文档前面、后面、指定列添加相同字符 sed命令在指定行前(后)插入内容 删除行 文本截取IP地址
  ETWZF7L1nsXD 2023年11月02日 64 0

1.IP地址排序


(一)排序
注意把复制的IP地址 直接在linux系统中黏贴

将1.txt文件 IP地址排序 并输出至2.txt文件中

sort -t "." -k 1n,1 -k 2n,2 -k 3n,3 -k 4n,4 1.txt > 22.txt
(二)

在最后一行加入/32 并回车
awk '{print $0 "/32^M"}' 22.txt > 555.txt
#注意:^M的输入方式是 Ctrl + v ,然后Ctrl + M  需要手动输入 复制是不可以的

(三)删除第1行和第4095行以为的行
sed '1,4095!d' 555.txt > 777.txt

(四)删除行
ndd:删除光标所在向下n行
4095dd

文本文档 linux ubuntu centos 7 IP地址排序 在文本文档前面、后面、指定列添加相同字符 sed命令在指定行前(后)插入内容 删除行 文本截取IP地址_IP

需要用到shell命令awk

2.AWK在前面、后面、指定列添加相同字符

(1)给一个文件中的每一行开头插入字符的方法:

awk '{print "需要添加的字符" $0}' fileName

(2)给一个文件中的每一行结尾插入字符的方法:

awk '{print $0 "需要添加的字符"}' fileName

例如:awk '{print $0 "/32"}' 2.txt > 4.txt

(3)给一个文件中的每一行的指定列插入字符的方法:

awk '$0=$0 X"' fileName


linux系统中

sed命令在指定行前(后)插入内容

1、测试数据如下:

[root@centos79 test]# ls
a.txt
[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s

 

2、在第2行后插入xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '2a xxxx' a.txt
3 4 5
d g 3
xxxx
s g 8
k s g
2 5 d
s c w
a r t
e 4 s

 

3、在第二行前插入xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '2i xxxx' a.txt
3 4 5
xxxx
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s

 

4、在第2行到第4行后都插入xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '2,4a xxxx' a.txt
3 4 5
d g 3
xxxx
s g 8
xxxx
k s g
xxxx
2 5 d
s c w
a r t
e 4 s


 

5、在第二行和第四行后插入xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed -e '2a xxxx' -e '4a xxxx' a.txt
3 4 5
d g 3
xxxx
s g 8
k s g
xxxx
2 5 d
s c w
a r t
e 4 s

 

6、在行首、行尾添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '1i xxxx' a.txt
xxxx
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '$a xxxx' a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
xxxx


 

7、在奇数行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '1~2a xxxx' a.txt
3 4 5
xxxx
d g 3
s g 8
xxxx
k s g
2 5 d
xxxx
s c w
a r t
xxxx
e 4 s


 

8、在偶数行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '2~2a xxxx' a.txt
3 4 5
d g 3
xxxx
s g 8
k s g
xxxx
2 5 d
s c w
xxxx
a r t
e 4 s
xxxx


 

9、在3倍数行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '3~3a xxxx' a.txt
3 4 5
d g 3
s g 8
xxxx
k s g
2 5 d
s c w
xxxx
a r t
e 4 s


 

10、在匹配d的行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '/d/a xxxx' a.txt
3 4 5
d g 3
xxxx
s g 8
k s g
2 5 d
xxxx
s c w
a r t
e 4 s


 

11、在以s开头的行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '/^s/a xxxx' a.txt
3 4 5
d g 3
s g 8
xxxx
k s g
2 5 d
s c w
xxxx
a r t
e 4 s


 

12、在以d结尾的行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '/d$/a xxxx' a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
xxxx
s c w
a r t
e 4 s


 

13、在以s开头同时以w结尾的行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '/^s.*w$/a xxxx' a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
xxxx
a r t
e 4 s


 

14、在同时包含k后者w的行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '/k\|w/a xxxx' a.txt
3 4 5
d g 3
s g 8
k s g
xxxx
2 5 d
s c w
xxxx
a r t
e 4 s


 

15、在同时包含4和e的行后添加xxxx

[root@centos79 test]# cat a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
[root@centos79 test]# sed '/4.*e\|e.*4/a xxxx' a.txt
3 4 5
d g 3
s g 8
k s g
2 5 d
s c w
a r t
e 4 s
xxxx

3. 文本截取

每一行都是有IP地址,但在不同的位置

事例:

恶意IP地址库
https://www.bjos.cn/list.html

如下

文本文档 linux ubuntu centos 7 IP地址排序 在文本文档前面、后面、指定列添加相同字符 sed命令在指定行前(后)插入内容 删除行 文本截取IP地址_txt文件_02

使用命令截取grep

你可以用grep把它们拉出来。 并输出到OK.TXT中  


grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file.txt > OK.TXT

结果如下

文本文档 linux ubuntu centos 7 IP地址排序 在文本文档前面、后面、指定列添加相同字符 sed命令在指定行前(后)插入内容 删除行 文本截取IP地址_IP_03

按IP地址大小排序

sort -t "." -k 1n,1 -k 2n,2 -k 3n,3 -k 4n,4 1.txt > OK.TXT

文本文档 linux ubuntu centos 7 IP地址排序 在文本文档前面、后面、指定列添加相同字符 sed命令在指定行前(后)插入内容 删除行 文本截取IP地址_IP_04

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 数据传输方式 下一篇: 初识k8s
  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP
  ozzp9aSSE46S   2023年11月30日   31   0   0 DNSIPPod
  48fXx4UfWSFg   2023年12月06日   58   0   0 bcIPbundle
  it2nV7RK7uw1   2023年11月28日   79   0   0 DockerServerIP
  aYmIB3fiUdn9   2023年12月08日   50   0   0 客户端IPNATlvs
ETWZF7L1nsXD