【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} ...
随机推荐
- jenkins html报告不显示样式
解决办法: 1.安装Startup Trigger,在jenkins节点启动时触发构建: 2.安装Groovy,直接运行Groovy代码: 3.新建一个Job,用于jenkins启动时执行配置命令: ...
- Balance(Stack)
栈的运用 mooc视频连接 #include <iostream> using namespace std; ]; ; void Push(char c) { ) { Top = ; S[ ...
- kali linux之手动漏洞挖掘一
默认安装漏洞 phpmyadmin/setup默认安装 ubuntu/debian默认安装php5-cgi phpmyadmin/setup默认安装 使用?-d+allow_url_include%3 ...
- Java面向对象之抽象类abstract 入门实例
一.基础概念 抽象事物,是若没有具体的信息可以描述这个事物,这个事物可以称为抽象事物. 抽象类,是不断的向上抽取而来.抽取方法声明而不确定具体的方法内容.由不同的子类来完成具体的方法内容. (一)抽象 ...
- 关于“java.lang.OutOfMemoryError : unable to create new native Thread”的报错问题
好吧 我发誓这是postgresql的Mirroring Controller的RT测试的最后一个坑了. 在这个RT测试的最后,要求测试Mirroring Controller功能在长时间运行下的稳定 ...
- Spring学习笔记(六)—— SSH整合
一.整合原理 二.整合步骤 2.1 导包 [hibernate] hibernate/lib/required hibernate/lib/jpa 数据库驱动 [struts2] struts-bla ...
- LOJ6503. 「雅礼集训 2018 Day4」Magic(容斥原理+NTT)
题目链接 https://loj.ac/problem/6503 题解 题中要求本质不同的序列数量,不太好搞.我们考虑给相同颜色的牌加上编号,这样所有牌都不相同.那么如果我们求出了答案,只需要将答案除 ...
- AtCoder Beginner Contest 113 B
B - Palace Time limit : 2sec / Memory limit : 1024MB Score: 200 points Problem Statement A country d ...
- Jsch初步
[From] http://xpenxpen.iteye.com/blog/2061869 上一篇文章我们成功搭建了sshd服务器,并通过3种方式登陆上了ssh.这一篇我们将用开源jar包jsch来登 ...
- hdu1395 2^x mod n = 1(欧拉函数)
2^x mod n = 1 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...