Linux shell 获得字符串所在行数及位置的方法
01 获取字符串所在的行数
方式一:用grep -n
[root@root]# cat test apple bit create delect exe flow good [root@root]# cat test | grep -n exe 5:exe [root@root]# cat test | grep -n exe | awk -F ":" '{print $1}' 5
方式二:用sed -n '/查询的字符串/=' 文件
[root@root]# cat test apple bit create delect exe flow good [root@root]# [root@root]# sed -n '/exe/=' test 5
02 获取字符串中字符所在的位置
方式一:用awk -F 和 wc -c 组合
[root@root]# echo 'uellevcmpottcap' | awk -F 'ott' '{print $1}'; uellevcmp [root@root]# echo 'uellevcmpottcap' | awk -F 'ott' '{print $1}' | wc -c 10
方式二:用awk 'BEGIN{print index("'${str}'","'${str1}'") }'
[root@root]# str='uellevcmpottcap';str1='ott';awk 'BEGIN{print index("'${str}'","'${str1}'") }' 10
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Linux Shell 生成随机数和随机字符串的方法示例
日常生活中,会经常用到随机数,使用场景非常广泛,例如买彩票.丢骰子.抽签.年会抽奖等. Shell 下如何生成随机数呢,米扑博客特意写了本文,总结 Linux Shell 产生随机数的多种方法. 计算机产生的的只是"伪随机数",不会产生绝对的随机数(是一种理想随机数).实际上,伪随机数和理想随机数也是相对的概念,例如伪随机数在1万万亿亿亿年内也无法重复,算是理想随机数么? 伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产生算法将可以产生一个非常长的不重复的序列,例如 UUID
-
linux shell 字符串操作(长度,查找,替换)详解
在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同 ${var-DEFAULT} 如果var没有被声明, 那么就以$DEFAULT作为其值 * ${var:-DEFAULT} 如果var没有被声明, 或者其值为空, 那
-
linux shell判断字符串为空的正确方法示例
help命令可以查看帮助 help test Linux 下判断字符串是否为空,有一个大坑! 首先想到的两个参数: -z :判断 string 是否是空串 -n :判断 string 是否是非空串 正确做法: #!/bin/sh STRING= if [ -z "$STRING" ]; then echo "STRING is empty" fi if [ -n "$STRING" ]; then echo "STRING is not
-
Linux Shell 截取字符串的方法示例
shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var:start} ${var:0-start:len} ${var:0-start} 格式 说明 ${string: start :length} 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符. ${string: start} 从 string 字符串的左边第 start 个字符开始截取,直到
-
Linux shell脚本中字符串连接的方法
如果想要在变量后面添加一个字符,可以用一下方法: 复制代码 代码如下: $value1=home$value2=${value1}"="echo $value2 把要添加的字符串变量添加{},并且需要把$放到外面.这样输出的结果是:home=,也就是说连接成功. 又如: 复制代码 代码如下: [root@localhost sh]# var1=/etc/[root@localhost sh]# var2=yum.repos.d/[root@localhost sh]# var3=${v
-
linux shell字符串内置的常用操作(获取长度、查找、替换)
之前我们也发过相关的文章.这里呢,推荐大家使用一些内置的函数. 在编写shell程序时,经常会涉及到字符串相关操作.有许多命令语句,如awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时间,因此速度会很的快.如果内置的操作符能够做到的,优先使用内置的. 1 读取字符串值 表达式 含义 ${var} 变量var本来的值 ${var-default} var没声明返回default,但不改变var的值 ${var:-def
-
Linux shell 获得字符串所在行数及位置的方法
01 获取字符串所在的行数 方式一:用grep -n [root@root]# cat test apple bit create delect exe flow good [root@root]# cat test | grep -n exe 5:exe [root@root]# cat test | grep -n exe | awk -F ":" '{print $1}' 5 方式二:用sed -n '/查询的字符串/=' 文件 [root@root]# cat test app
-
Linux shell ftp命令根据文件日期下载文件的方法
需求:ftp获取远程数据的文件,根据文件的创建时间点下载文件. 可以自行扩展根据文件的大小等其他需求. 知识点总结: 1.获取文件的时间: ls -lrt|awk '{print $6" "$7" "$8}' 时间内容: Sep 8 16:03 2.时间格式转换 date -d "Sep 8 16:03" +%Y%m%d%H%M 转换结果: 201709081603 3.指定文件名,正则匹配 pattern="${month}.*.d
-
linux shell 中判断文件、目录是否存在的方法
本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filenam
-
Linux Shell循环中实现展示进度百分比的实现方法
Shell 循环中实现展示进度百分比的脚本方法 当我需要处理一个几万行的文件的时候,需要处理的时间是比较长的.我一开始的想法是,没处理一行,就输出一个 # 号.但是这样还是会出现很多很多的 # 号,即便是放在一行,也是非常不优雅的.所以,我想实现一个展示进度百分比的脚本. 实现思路 获取文件的行数 用 i++ 实现每行处理的计数 当前处理行数*100再除以文件行数+%得到我要输出的百分比结果 我需要在一行展示,而不是一直追加或者每次都显示一行 就是这些需求了.我们来逐渐实现. 获取文件的行数 这
-
Linux Shell中curl和wget使用代理IP的方法教程
前言 大家都知道,在Linux Shell中提供两个非常实用的命令来爬取网页,它们分别是 curl 和 wget,本文将给大家详细介绍关于在Linux Shell中curl和wget使用代理IP的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看吧. curl 和 wget 使用代理 curl 支持 http.https.socks4.socks5 wget 支持 http.https 代理示例: #!/bin/bash # # curl 支持 http.https.socks4.so
-
Shell脚本统计文件行数的8种方法
获取单个文件行数 文件:test1.sh 行数:20 方法一 复制代码 代码如下: awk '{print NR}' test1.sh|tail -n1 如图所示: 方法二 复制代码 代码如下: awk 'END{print NR}' test1.sh 如图所示: 方法三 复制代码 代码如下: grep -n "" test1.sh|awk -F: '{print '}|tail -n1 如图所示: 方法四 复制代码 代码如下: sed -n '$=' test1.sh 如图所示: 方
-
linux shell字符串截取的详细总结(实用!)
目录 一.字符串变量的截取操作 1.从指定位置(index)截取固定长度 2.截取指定字符串(子字符串)左边的字符 3.截取指定字符串(子字符串)右边的字符 二.用cut命令截取(适合处理管道流或行文本字符) 补充:使用%和%%:截取的是指定字符前边内容 总结 一.字符串变量的截取操作 对字符串变量的截取操作一般都是通过${操作符}的方式进行,如下: 1.从指定位置(index)截取固定长度 格式:${string:start:length} 其中,string 是要截取的字符串,start 是
随机推荐
- Vue+axios 实现http拦截及路由拦截实例
- 微信小程序 触控事件详细介绍
- wmic 命令用法及实例
- webuploader在springMVC+jquery+Java开发环境下的大文件分片上传的实例代码
- 使用Python脚本来控制Windows Azure的简单教程
- 基于php实现随机合并数组并排序(原排序)
- ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
- 关于PHP递归算法和应用方法介绍
- python 3.0 模拟用户登录功能并实现三次错误锁定
- Android利用ObjectAnimator实现ArcMenu
- PHP实现图片自动清理的方法
- 如何使页面打开时input就被选中?
- createTextRange()的使用示例含文本框选中部分文字内容
- 详解python 发送邮件实例代码
- python实现的守护进程(Daemon)用法实例
- MySQL PHP 语法详解及实例代码
- 解决jquery实现的radio重新选中的问题
- jquery.post用法之type设置问题
- linux环境配置nginx导致页面不刷新的解决方法
- Android使用TextView跑马灯效果