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