分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

1 查询字符串所在的行号

grep  -n  "xxx"   str.txt           #  -n 打印字符 “xxx” 在文件 “str.txt” 所在的行数前缀

示例:

str.txt

xxx
yyy
zzz
xxx

输入查找命令: grep  -n  "xxx"   str.txt

结果如下:

1:xxx
4:xxx

行号1,4在前,匹配字符串“xxx”在后,两者之间用冒号 “:” 隔开

2 查找字符串首次匹配的行号

grep  -n  "xxx"   str.txt  | head -1

结果如下:

1:xxx

同理,查找最后一次匹配的行号

grep  -n  "xxx"   str.txt  | tail -1

结果如下:

4:xxx

查找字符串第二次匹配的行号

grep  -n  "xxx"   str.txt  | head -2 | tail -1            # 先取出前两行,然后取最后一行

结果如下:

4:xxx

3 提取字符串所在的行号

grep  -n  "xxx"   str.txt  | cut  -d  ":"  -f  1

先查询字符串 “xxx” 所在的全部行号,然后利用 cut 命令分割“:”字符,提取第一个字段,即行号

结果如下:

1
4

提取首次匹配的行号

grep  -n  "xxx"   str.txt  | head -1  | cut  -d  ":"  -f  1

结果如下:

1

4 比较两次字符串行号变化幅度

两个文件内容: str.txt 和 str2.txt

str.txt

xxx
yyy
zzz
xxx

str2.txt

yyy
xxx
www
zzz

比较行号脚本

catline.sh

#!/bin/bashrm -rf ret.txttotal=`wc -l $1 | awk '{print $1}'`echo "total = $total"num=1while read linedo    echo $line    ret=`grep -n $line $2 | head -1`        echo $ret    if [ -z $ret ]; then        num2=$total        echo "null num2 = $total"    else        num2=`echo $ret | cut -d ":" -f 1`        echo "num2 = $num2"    fi    echo $num    change=`expr $num2 - $num`    echo "$num2 - $num = $change"    num=`expr $num + 1`    echo "$line=$change" >> ret.txtdone < $1cat ret.txt

执行脚本命令:

./catline.sh    str2.txt   str.txt


运行结果如下:

total = 4yyy2:yyynum2 = 212 - 1 = 1xxx1:xxxnum2 = 121 - 2 = -1wwwnull num2 = 434 - 3 = 1zzz3:zzznum2 = 343 - 4 = -1yyy=1xxx=-1www=1zzz=-1

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

shell 字符串出现的行数相关推荐

  1. Python入门练习题026:字符串写入的行数

    """ 记录下自己自学python和练习写的代码,等以后进阶后,再回来看一下曾经自己写的代码有多蠢Python入门练习题026:字符串写入的行数 把字符串S字符写入行中, ...

  2. linux shell wc统计文件行数

    语法:wc [选项] 文件- 说明:该命令统计给定文件中的字节数.字数.行数.如果没有给出文件名,则从标准输入读取.wc同时也给出所有指定文件的总统计数.字是由空格字符区分开的最大字符串. 该命令各选 ...

  3. Linux 统计多个文件中 某字符串出现的行数

    cat log_0 log_1 log_2 log_3 log_4 log_5 log_6 log_7 log_8 log_9 | grep "object has no attribute ...

  4. 一行shell命令实现代码行数统计

    一行命令实现代码行数统计     1. 基本版 find . -name "*.cpp"|xargs wc -l|grep "total"|awk '{prin ...

  5. 利用shell脚本统计代码行数

    刚毕业那会儿有一次去一家台湾公司面试,问我写过多少行代码.从没想过这个问题,粗略算了算,随口说道:大概几十万行吧.最近整理资料,看着eclipse左边满满的列表,想起了这个事.倒底总共有多少行代码?- ...

  6. LeetCode(806)——写字符串需要的行数(JavaScript)

    我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行.我们给定了一个数组 width ...

  7. shell 命令统计代码行数

    分享一个统计代码行的shell命令: find . "(" -name ".java" -or -name ".html" -or -nam ...

  8. linux shell脚本判断文件行数,判断文件是否存在的shell脚本代码

    实现代码一. #!/bin/sh # 判断文件是否存在 # lilSzqFnk:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/&q ...

  9. linux shell 递归统计代码行数

    一句话: find /path -name '*.cpp' |xargs wc -l 转载于:https://www.cnblogs.com/songbingyu/p/4047163.html

最新文章

  1. 软件测试的测什么,软件测试人员应具备哪些能力?
  2. gnome3.2 安装体验
  3. linux看电视系统,教你如何在Linux操作系统下观看电视节目
  4. QT 调用 DLL 的三种方法
  5. LeetCode 961. 重复 N 次的元素
  6. 如何设置计算机http端口号,服务器http端口设置
  7. Java工作笔记-Spring Boot中使用Mybatis操作达梦数据库
  8. python函数的嵌套调用_python函数的嵌套调用
  9. win10 安装oracle 11gR2_database(内附下载地址)
  10. python中能用π吗_python里π
  11. QQ影音播放器 for Mac
  12. [吴道长作品]记一次不成熟的爬虫
  13. mysql workbench安装配置_Mysql WorkBench安装配置图文教程
  14. c语言QQ管理系统四百条,C语言程序设计论文-工会成员信息管理系统.doc
  15. 阿里云企业认证时不要让员工做个人认证的原因
  16. 摄像头镜头焦距与照射距离关系图
  17. 「纯前端容器」打造无缝平滑的用户体验
  18. openlayers6【十】EPSG:3857和EPSG:4326区别详解
  19. 关于widedeep的再思考
  20. ps学习资料,很有用的!

热门文章

  1. [Android Studio]Design editor is unavailable until after a successful project sync
  2. IE各版本内核(多指渲染引擎)
  3. linux编译fdk aac,Ubuntu下利用NDK编译ffmpeg+x264+fdk-aac
  4. PCI网卡上扩展ROM编程 5.PCI扩展ROM
  5. 华三IRF配置命令集合
  6. 解决Latex图片乱跑
  7. 菜谱APP源码和设计报告
  8. xmind添加父类主题_制作精美思维导图(Xmind)入门技巧篇
  9. 演示gradients基本用法
  10. Kolin协程与Retrofit 2.6.1完美合璧