Shell编程--字符串截取命令,字符处理命令
字符串截取命令
1. cut字段提取命令
cut 【选项】文件名
选项:-f 列好:提取第几列
-d 分隔符:按照指定分隔符分割列
注:grep是行提取命令
![](https://img.haomeiwen.com/i19218157/14624c21a6a6cea2.png)
命令 df : 查看系统分区的使用状况
cut命令默认以制表符为分割符
2. printf命令
printf '输出类型和输出格式' 输出内容
输出类型:
1). %ns: 输出字符串。n是数字指代输出几个字符
2). %ni: 输出整数。n是数字指代输出几个数字
3). %m.nf: 输出浮点型。m和n是数字,指代输出的整数位数和小数位数。如%8.2f代表共输出8位数,其中2位是小数,6位是整数。
输出格式:
1). \a: 输出警告声音
2). \b: 输出退格键,也就是Backspace键
3). \f: 清除屏幕
4). \n: 换行
5). \r: 回车,也就是Enter键
6). \t: 水平输出退格键,也就是Tab键
7). \v: 垂直输出退格键,也就是Tab键
![](https://img.haomeiwen.com/i19218157/6ae0064910efd1f4.png)
![](https://img.haomeiwen.com/i19218157/9f254679ff48fc15.png)
![](https://img.haomeiwen.com/i19218157/24be0a1ff28f2411.png)
![](https://img.haomeiwen.com/i19218157/5f4516dc0f96c1f9.png)
在awk命令的输出中支持print和printf命令
print: print会在每个输出之后自动加入一个换行符(Linux默认没有print命令)
printf: printf是标准格式输出命令,并不会自动加入换行符,如果需要换行,需要手动加入换行符
3. awk命令
![](https://img.haomeiwen.com/i19218157/175418a57e3a1554.png)
![](https://img.haomeiwen.com/i19218157/d4bf8432ea4d0355.png)
条件:BEGIN
在指定位置的前面进行操作
![](https://img.haomeiwen.com/i19218157/c3e9328c5dd5b9f0.png)
![](https://img.haomeiwen.com/i19218157/442f6e3aac1a40fc.png)
条件:END
在指定位置的后面进行操作
![](https://img.haomeiwen.com/i19218157/0958f11062a5192c.png)
![](https://img.haomeiwen.com/i19218157/23479263c927b854.png)
FS=""
指定字符作为条件
![](https://img.haomeiwen.com/i19218157/ab0f6456bd1a1a51.png)
![](https://img.haomeiwen.com/i19218157/d5c23c0639207547.png)
awk的条件可以使用关系运算符
![](https://img.haomeiwen.com/i19218157/b94c6262b57a88df.png)
![](https://img.haomeiwen.com/i19218157/603871124b931eae.png)
3. sed命令
主要是用来将数据进行选取,替换,删除,新增的命令
sed [选项] '[动作]' 文件名
选项:
-n: 一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕
-e: 允许对输入数据应用多条sed命令编辑
-i: 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
![](https://img.haomeiwen.com/i19218157/8d115f8ee3f2707c.png)
行数据操作
打印第二行
![](https://img.haomeiwen.com/i19218157/bdccf625e1f55a85.png)
删除行数据
![](https://img.haomeiwen.com/i19218157/3157d3d9d2d85ff4.png)
增加,插入行数据
![](https://img.haomeiwen.com/i19218157/523355d6e6d7f37e.png)
字符串替换
![](https://img.haomeiwen.com/i19218157/468c4e1a71a9896c.png)
替换行数据
![](https://img.haomeiwen.com/i19218157/e3efb20ae4c0cddb.png)
修改文件数据
![](https://img.haomeiwen.com/i19218157/1aca2ff5d8fb163c.png)
字符处理命令
1. 排序命令:sort命令
![](https://img.haomeiwen.com/i19218157/d4eb975c41281615.png)
正序
![](https://img.haomeiwen.com/i19218157/778db30ab2163c2a.png)
倒序
![](https://img.haomeiwen.com/i19218157/f1db31656ab25cf0.png)
指定列排序(默认为字符串)
![](https://img.haomeiwen.com/i19218157/3231280e68166dbc.png)
指定列排序(指定数字排序)
![](https://img.haomeiwen.com/i19218157/0e421c199f505ae0.png)
2. 统计命令:wc命令
![](https://img.haomeiwen.com/i19218157/127502ba9f0e1b07.png)
![](https://img.haomeiwen.com/i19218157/ce77f521e6360a04.png)