Linux 中如何截取文本的最后几个字符
001、awk输出最后的两个字符
a、
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# awk -F "" '{print $(NF - 1), $NF}' a.txt ## awk输出文本的最后两个字符 4 8 e r r c
b、使用数字直接指定
[root@PC1 test2]# ls a.txt [root@PC1 test2]# cat a.txt ## 测试文本 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test2]# awk -F "" '{tmp = substr($0, length($0) - 2, length($0)); print tmp}' a.txt ## 截取最后3个字符 248 eer erc [root@PC1 test2]# awk -F "" '{tmp = substr($0, length($0) - 5, length($0)); print tmp}' a.txt ## 截取最后6个字符 fd3248 iuyeer dgherc
002、grep输出最后的两个字符
a、
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试文件 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# grep "..$" a.txt 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# grep -o "..$" a.txt ## 输出最后两个字符 48 er rc
b、直接用数字指定匹配次数
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试文件 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# grep -E ".{3}$" a.txt 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# grep -oE ".{3}$" a.txt ## 输出文本的最后3个字符 248 eer erc [root@PC1 test1]# grep -oE ".{5}$" a.txt ## 输出文本的最后5个字符 d3248 uyeer gherc
003、rev + cut实现
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# rev a.txt | cut -c 1-3 | rev ## 取最后三个字符 248 eer erc [root@PC1 test1]# rev a.txt | cut -c 1-5 | rev ## 取最后5个字符 d3248 uyeer gherc
004、 sed实现
[root@PC1 test1]# ls a.txt [root@PC1 test1]# cat a.txt ## 测试数据 325dsfd3248 fdsfgeiuyeer sfdgdgherc [root@PC1 test1]# sed 's/\(.*\)\(...$\)/\2/' a.txt ## 取最后三个字符 248 eer erc
。
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-02-07 shell实现从gff文件的第9列提取基因名称
2023-02-07 linux 中grep命令限制数字匹配的次数