linux 中提取文本中的最后几个字符

 

001、grep实现

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt                    ## 测试数据
234     fw3mh   i86st
sfg     yzv     e32kut
zd7     utes    eywq
[root@PC1 test]# grep -o ".$" a.txt           ## 提取最后一个字符
t
t
q
[root@PC1 test]# grep -o "...$" a.txt         ## 提取最后两个字符
6st
kut
ywq

 

002、sed实现

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt   
234     fw3mh   i86st
sfg     yzv     e32kut
zd7     utes    eywq
[root@PC1 test]# sed 's/\(.*\)\(.$\)/\2/' a.txt             ## 提取最后一个字符
t
t
q
[root@PC1 test]# sed 's/\(.*\)\(....$\)/\2/' a.txt          ## 提取最后四个字符
86st
2kut
eywq

 

003、awk实现

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt
234     fw3mh   i86st
sfg     yzv     e32kut
zd7     utes    eywq
[root@PC1 test]# awk '{a = substr($0, length($0), length($0)); print a}' a.txt                ## 提取最后一个字符
t
t
q
[root@PC1 test]# awk '{a = substr($0, length($0) - 2, length($0)); print a}' a.txt            ## 提取最后三个字符
6st
kut
ywq

 

004、rev + cut实现

[root@PC1 test]# ls
a.txt
[root@PC1 test]# cat a.txt
234     fw3mh   i86st
sfg     yzv     e32kut
zd7     utes    eywq
[root@PC1 test]# rev a.txt | cut -c 1 | rev            ## 提取最后一个字符
t
t
q
[root@PC1 test]# rev a.txt | cut -c 1-3 | rev          ## 提取最后3个字符
6st
kut
ywq

 

posted @ 2023-05-27 22:33  小鲨鱼2018  阅读(1166)  评论(0)    收藏  举报