Linux Shell编程-字符截取和处理命令
来源:互联网 发布:energia驱动mac 编辑:程序博客网 时间:2024/06/05 01:00
一 cut命令
cut 选项 文件名
-f 列号,列号 :提取第几列,多个列用,分隔
-d 分隔符:按照指定分隔符分隔列
比如有一个文件student.txt
注意,每个列直接用的TAB键
cut -f 2,3 student.txt
截取第2列和第3列
cut -d “:”-f 1,3 /etc/passwd
cut命令的局限
如果想以” “空格来分割,截图第3列,是截图不到的,因为第一列和第二列直接空格特别多。
二 printf命令
printf ‘输出类型输出格式’ 输出内容
输出类型
%ns 输出字符串,n是数字,代表输出几个字符
%ni 输出整数,n是数字,代表输出几个数字
%m.nf 输出浮点数,%8.2f 输出6位整数和2位小数
来看例子
printf %s 1 2 3 4 5 6
这样,虽然参数每个数字之间有空格,但是打印出来完全连在一起
printf %s %s %s 1 2 3 4 5 6
如果不加单引号,那么后面两个%s会被当成字符串
printf ‘%s %s %s’ 1 2 3 4 5 6
这样输出类型中3个%s,那么接下来的内容就3个一组加空格输出
printf ‘%s %s %s\n’ 1 2 3 4 5 6
\n代表换行
printf ‘%s’ $(cat student.txt)
不调整格式输出student.txt文件的内容
如果想调整格式输出
注:在下面要讲的awk命令的输出中支持print和printf命令
print命令会在每个输出之后自动加入换行符
printf命令不会自动加入换行符,需要手工加入
三 awk命令
awk ‘条件1{动作1} 条件2{动作2}…’ 文件名
条件
一般使用关系表达式作为条件
x>10
x>=10
x<=10
动作
格式化输出
流程控制语句
下面举例来看
截取第2列和第6列
截取第1列和第3列,这里我们看到,虽然df -h的输出结果是空格很多,但是依然可以截取,这就是awk比cut强大的地方
在截图第2列和第6列之前加上了一段描述的语言
在结尾加上一段描述语言
在开始的时候用FS指定分隔符
判断第6列大于87,然后截图第2列
四 sed命令
sed主要是用来将数据进行选取,替换,删除,新增的命令
sed 选项 ‘动作’ 文件名
选项:
-n: 一般sed命令会把所有内容输出到屏幕,如果加了-n,只会把sed命令处理的行输出到屏幕
-e: 允许对输出数据应用多条sed命令编辑
-i: 用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出
动作:
a :追加,在当前行后添加一行或多行,添加多行时,除最后一行外,每行末尾要加\代表数据未完结
c :行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾要加\代表数据未完结
i :插入,在当前行前插入一行或多行,插入多行时,除最后一行外,每行末尾要加\代表数据未完结
d:删除指定行
p:输出指定行
s:字符替换,格式为”行范围s/旧字串/新字串/g”
下面来举例子,依然用之前的student.txt文件
不加-n就会全部输出
指定输出第2行
删除第2行和第4行的数据,但是不修改文件本身
在第2行后插入hello
在第2行后插入两行
替换第2行
把第3行的74换成99
同时把Liming和Gao替换成空
五 sort命令
sort 选项 文件名
选项:
-f:忽略大小写
-n:以数值型进行排序,默认以字符串进行排序
-r:反向排序
-t:指定分隔符,默认分割符是制表符
-k n[,m]:按照指定的字段范围排序,从第n个字段开始,m字段结束(默认到行尾)
举例子
sort /etc/passwd
按开头字母排序的
sort -r /etc/passwd
反向排序
sort -n -t “:” -k 3,3 /etc/passwd
用第3个字段,以数值方式排序
好了,Linux Shell编程-字符截取和处理命令就总结到这里,如有问题,欢迎指正,谢谢。
- Linux Shell编程-字符截取和处理命令
- shell编程-字符截取命令
- Linux学习---shell编程(06-字符截取命令)
- Shell编程-字符截取命令-cut命令
- Shell编程-字符截取命令-printf命令
- Shell编程-字符截取命令-awk命令
- Shell编程-字符截取命令-sed命令
- Shell编程-字符处理命令
- shell编程-字符处理命令
- Linux学习——shell编程之正则表达式和字符处理命令
- Linux学习---shell编程(10-字符处理命令)
- shell-字符截取命令sed
- Linux 字符截取命令
- shell字符截取命令之cut命令
- shell字符截取命令之awk命令
- 《Linux命令、编辑器与Shell编程》读书笔记3-linux命令中的特殊字符和正则表达式
- LInux:shell 命令:字符串截取
- Linux字符截取命令-cut
- mysql导出数据
- 自定义behavior
- android用socket与PC用C#的socket通讯使PC关机
- container_of分析
- Stack Overflow 2016最新架构探秘
- Linux Shell编程-字符截取和处理命令
- Android学习笔记第二篇--分享数据
- 开源框架
- 域名得到泛域名
- 北京的小伙伴,本周五阿里聚安全约你来玩
- 开源框架
- 使用go tool pprof分析内存泄漏、CPU消耗
- div设置height的必要性
- 关于"Slidepage传值问题"的解决方法