以上一题文件s1.txt为源文件
方法1:
awk -F "[^0-9]" '/[0-9]$/{print $NF}'  s1.txt

awk -v FS="[^0-9]" '/[0-9]$/{print $NF}' 
设置分隔符为非数字,对以数字结尾的行输出最后1个字段

方法2:
sed -nr '/[0-9]$/{s/.*[^0-9]([0-9]+)$/\1/;p}' 

sed -n /[0-9]$/p s1.txt | sed -nr 's/.*[^0-9]([0-9]+)$/\1/g;p'
第一种写法是用了嵌套
方法3:
使用read line循环实现。

此方法不如其他两种方法简洁。主要是想练习几个知识点。

包括:文件存在判断、逐行读取、获取字符串长度、判断是否是数字、终止当前循环和终止本次循环、获取部分字符串

#!/bin/bash

> s4.txt

if [ -f s1.txt ]; then

echo "starting..."

else

echo "error!need s1.txt!"

exit 1

fi

f1=""

f0=""

f2=0

#echo $f0

#exit 0

while read line

do

f0=`echo $line | sed -n '/[0-9]$/p'`

f1=`echo $f0 | awk '{print length($0)}'`

#echo $f1

if [ $f1 -eq 0 ]; then

f1=0

echo "this line is 0"

continue;

fi

#echo "this line is gt 0 ------$f1"

f2=""

j=0

while [ $j -le $f1 ];

do

f2=${line:j}

echo $f2 | grep -q '[^0-9]'

f3=$?

if [ $f3 -ge 1 ]; then

#this is number,output

echo $f2 >>s4.txt

echo $f2

break;

fi

let j=j+1

done

f0=""

done < s1.txt

shell小技巧(六)读取文件末尾为数字行的末尾数字相关推荐

  1. uwsgi怎么通过浏览器访问某个脚本_4个Shell小技巧帮你提高机器学习效率:写好脚本,事半功倍...

    晓查 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在机器学习的实践过程中,用好Shell能帮你很多节省时间. 最近,有位来自ETHZ的学生分享了一些Shell小技巧.对程序员来说,这些技巧更 ...

  2. 6条shell小技巧,让脚本显得不再业余

    6条shell小技巧,让脚本显得不再业余 原创作者: 58沈剑 来自公众号:架构师之路 画外音:说实话,技术思路类文章(WHY, HOW),比技术实践类(WHAT)更难写. 如何能让自己的shell显 ...

  3. 4个Shell小技巧,帮你提高机器学习生产效率

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 在机器学习的实践过程中,用好Shell能帮你很多节省时间. 最近,有位来自ETHZ的学生分享了一些Shell小技巧.对程序员来说,这些技巧 ...

  4. Pyinstaller打包python文件太大?教你三个小技巧有效减小文件体积

    简介 有时候需要在未安装Python环境的平台上运行py程序,使用pyinstaller打包很方便,但打包后的可执行文件实在是太大了.原因在于打包时pyinstaller本就已经关联了很多的pytho ...

  5. python win32转pdf 横版_Python 小技巧之 Office 文件转 PDF

    文章来源于公众号:Python技术 作者:派森酱 在日常的生活工作中,难免需要用到一些 小Tip 来解决工作中遇到的小难题,今天的文章给大家安利一个方便快捷的小技巧,将 Office(doc/docx ...

  6. linux shell 读取文件指定单行 多行 连续行 倒数几行

    三种方法 1.tail -n +/-数字 文件名 2.head -n 数字 文件名 3.sed -n "开始行,结束行p" 文件名 下面分别介绍这几种方法 cd 到要文件所在目录. ...

  7. VIM使用小技巧-重新载入文件

    VIM使用小技巧-重新载入文件 - Anything的专栏 - 博客频道 - CSDN.NET VIM使用小技巧-重新载入文件 2012-03-02 23:37 348人阅读 评论(0) 收藏 举报 ...

  8. linux脚本中如何读取文件,如何在Shell脚本中逐行读取文件

    原标题:如何在Shell脚本中逐行读取文件 在这里,我们学习Shell脚本中的3种方法来逐行读取文件. 方法一.使用输入重定向 逐行读取文件的最简单方法是在while循环中使用输入重定向. 为了演示, ...

  9. 在python中读取文件时如何去除行末的换行符以及在Windows与Linux中的区别

    [时间]2018.11.14 [题目]在python中读取文件时如何去除行末的换行符以及在Windows与Linux中的区别 一.去除换行符 以使用readline进行读取为例: import red ...

  10. pandas使用read_csv函数读取文件的前N行数据并保留表头、pandas使用read_csv函数读取制表符分割的文件(tab-delimited)、自定义设置sep参数

    pandas使用read_csv函数读取文件的前N行数据并保留表头.pandas使用read_csv函数读取制表符分割的文件(tab-delimited).自定义设置sep参数 目录

最新文章

  1. sklearn GaussianNB(高斯朴素贝叶斯)模型使用RandomSearchCV获取最优参数及可视化​​​​​​​
  2. IOS常用正则表达式
  3. refreshtoken用mysql_「SpringCloud」 Spring Security OAuth2 Mysql管理在线Token
  4. velocity 遍历map
  5. 钉钉宜搭邵磊:钉钉宜搭低代码加速业务互联 让改变发生
  6. java的守护线程与非守护线程
  7. 今年计算机考研时间公布,今年考研时间初步确定?
  8. 【Python函数】——sort,sorted
  9. POJ 3422 费用流
  10. Nagios监控平台完全攻略 (二)
  11. 文件系统的简单的操作
  12. 谭晓生大闹中国计算机中心,360高管谭晓生不满中国计算机大会拖堂和临时加议程,现场摔话筒发飙...
  13. 分享MYSQL中的各种高可用技术
  14. bash实现自动补全
  15. cd oracle home/dbs,Oracle专家高级编程学习笔记
  16. python小星_Python学习【第3篇】:列表魔法
  17. java 10什么意思_详解:Java 10的10个新特性
  18. 【毕业设计8】基于STM32的红外测距系统
  19. 用91卫图助手获取研究区(勾画研究矢量shp格式范围等)
  20. 为N台linux服务器传输大文件

热门文章

  1. 2285服务器装solaries系统,一套完整的简易太阳能发电系统的安装过程演示
  2. Git 中 设置 提交者 email 的多种方式
  3. java ci框架_CI(CodeIgniter)框架介绍
  4. wmm的学习日记(xss之旅)
  5. 数据结构与算法——每日一练(12月)
  6. 智慧路灯远程智能控制
  7. 极地旅行社[LCT]
  8. python 小说 小说_python潇湘书院网站小说爬虫
  9. 等比数列二分求和(首项为0次项与1次项的方法)
  10. 计算机前沿(2022计算机前沿方向)