【Shell】shell截取字符串方式(cut、awk、sed命令)
1.cut
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d:自定义分隔符,默认为制表符。
-f:与-d一起使用,指定显示哪个区域。
-n:取消分割多字节字符。仅和-b标志一起使用。如果字符的最后一个字节落在由-b标志的List参数指示的范围之内,该字符将被写出;否则,该字符将被排除。
-b
.eg1:然后调用cut,即剪切字符串中的第2和第5个字节。
echo"123abc"|cut -b ,
先输出123abc
输出为2b
.eg2:cut掉11-14位置的字符
echo "123456789abcdefghjklmnopq" | cut -b -
输出为bcde

-c
用法示例输出/etc/passwd文件每一行的前4个字符$ sudo cut -c 1-4 /etc/passwd
取完之后 
-d
cut命令用于列提取,默认分隔符是tab键。
选项:-d指定分隔符,-f指定提取第几列
eg1: 以%作为分隔符 输出第一个%前的区域1的东西,输出区域2的东西
root@ROUTER:~# echo "CPU: busy 14% (system=10% user=3% nice=0% idle=85%)" | cut -d \% -f
CPU: busy
root@ROUTER:~# echo "CPU: busy 14% (system=10% user=3% nice=0% idle=85%)" | cut -d \% -f
(system=
root@ROUTER:~# echo "CPU: busy 14% (system=10% user=3% nice=0% idle=85%)" | cut -b - | cut -d \% -f root@ROUTER:~# echo "CPU: busy 14% (system=10% user=3% nice=0% idle=85%)" | cut -b -
%
2.sed
eg1:去除文本中的所有数字
sed 's/[0-9]//g'
[0-9]匹配一个数字,
s/A/B/ 将A替换为B
g表示全局替换为空格
eg2:取当前的接口的ip,把所有的:替换为空格,然后打印出空格为分割的第几个数
root@Evelyn:~# ifconfig
ens33 Link encap:Ethernet HWaddr :0c::::f9
inet addr:192.168.23.44 Bcast:192.168.23.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (366.4 MB) TX bytes: (261.0 MB)
Interrupt: Base address:0x2000 lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU: Metric:
RX packets: errors: dropped: overruns: frame:
TX packets: errors: dropped: overruns: carrier:
collisions: txqueuelen:
RX bytes: (1.1 GB) TX bytes: (1.1 GB) root@Evelyn:~# ifconfig ens33 | grep Bcast | sed 's/:/ /g' | awk '{print $3}'
192.168.23.44
eg3:取出延时时间的数字
ping 192.168.120.1 -s -c | grep time | sed 's/=/ /g' | awk '{print $10}'

3. awk
①语法格式:awk '条件1{动作1}条件2{动作2}...' 文件
条件,一般使用关系表达式作为条件,如a>10。动作,格式化输出或流程控制语句
awk一次读入一整行,默认以tab键或者空格为分隔符将一行分为多个字段,表示为$1、$2、$3...其中$0表示文件名
【Shell】shell截取字符串方式(cut、awk、sed命令)的更多相关文章
- 无法绕开的cut, awk, sed命令
linux命令的选项和选项后面的值的方式: 如果用 短选项, 选项值就放在短选项的后面, 如果用长选项, 值就用等于的方式. 最重要的是, 短选项后面的值, 跟短选项之间, 可以用空格, 也可以紧接着 ...
- shell中截取字符串的方法总结
shell中截取字符串的方法有很多种, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
- shell的奇淫巧技--自动化脚本(sed命令)
使用场景:前段时间交易所项目需要在服务器上用到 根据websocket推送价格数据,在交易所内进行下单撤单处理,但是由于有多个交易对,在服务器上部署时候,略显繁琐.(撮合引擎同样有此问题,可以一并解决 ...
- awk sed 命令
awk awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大. 简单来说awk就是把文件逐行的读入,以 空格或TAB 为默认分隔符 将每行 ...
- 【shell】截取字符串前面文字
例如:有一个文件test.txt,里面有这些数据. meiguounix232 faguounix ribenunix zhongguounixtaobao hanguounixbaba 现在我想截取 ...
- [转]shell awk sed tr grep 语法汇总
tr 基本语法 -c # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII -d # 删除字符串1中所有输入字符 -s # 删除所 ...
- shell下的 awk/sed/grep/seq/tr
转自:实例手册 https://github.com/liquanzhou/ops_doc/blob/master/shell%E5%AE%9E%E4%BE%8B%E6%89%8B%E5%86%8C. ...
- shell截取字符串方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${p ...
- inux中shell截取字符串方法总结
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...
随机推荐
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'blog.t_blog.addTime' which is not functi
sql报错: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT ...
- 个人常用Markdow语法代码备用
1.分隔线 -------------------------------- 2.OC代码 ``` Objective-C ``` 3.字体加粗 ##加粗## 4.标题样式 <h1> &l ...
- 新增扩展程序功能打包提交新版 WARNING ITMS-90473 警告问题
1.问题描述 自从在主应用中加入SiriShortCut功能之后,打包程序上传至 iTunes Connect 就会出现警告,看其原因描述是CFBundleVersion主应用与子应用的不一致导致的 ...
- JAVA学习必须掌握的框架,不看后悔
Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...
- utp
接口测试大致分为两种:数据驱动和代码驱动 数据驱动:主要处理用例之间没有关联关系的用例集合,一般以(excel.yaml)文件形式存储用例 代码驱动:主要是处理用例之间存在关联关系的用例(如:抽奖,需 ...
- spring 学习(四): spring 的 jdbcTemplate 操作
spring 学习(四): spring 的 jdbcTemplate 操作 spring 针对 javaee 的每一层,都提供了相应的解决技术,jdbcTemplate 的主要操作在 dao 层. ...
- pycharm 2016 注册(pycharm-professional-2016.3.2)
BIG3CLIK6F-eyJsaWNlbnNlSWQiOiJCSUczQ0xJSzZGIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiI ...
- postgreSQL PL/SQL编程学习笔记(六)——杂七杂八
1 PL/pgSQL Under the Hood This part discusses some implementation details that are frequently import ...
- underscore里面的debounce与throttle
throttle 策略的电梯.保证如果电梯第一个人进来后,15秒后准时运送一次,不等待.如果没有人,则待机. debounce 策略的电梯.如果电梯里有人进来,等待15秒.如果又人进来,15秒等待重新 ...
- redis中使用lua脚本
lua脚本 Lua是一个高效的轻量级脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能 使用脚本的好处 1.减少网络开销,在Lua脚 ...