shell提取字符串指定的内容
来源:互联网 发布:无影无踪软件下载 编辑:程序博客网 时间:2024/04/30 05:47
在写shell程序的很多时候我么需要提取字符串中相应的值来做进一步的处理,比如需要写一个关闭某些进程的脚本,此时就需要获取这些进程的ID然后加上kill命令来关闭这些进程,然而当我们使用ps命令去查询进程ID的时候我们得到的值不仅仅包含进程的ID值,还包含很多信息,提取进程ID 这个关键字符串的值就不得不使用两个命令cut 和awk;
cut命令
用法: cut 参数 文件名
说明:cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
参数:
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
更多参数请参考:cut - -help
-b用法:
以字节为单位,指定相应的字节输出,由于一个英文字符只占用一个字节,所以对英文字符可以与-c等价,但是占用多个节编码的字符不适用,比如中文;
文件内容:
$ cat test.txt1234567890ABCDEFGHIJabcdefghijhello wrold!
指定文件中每行的第1,3到7个字符输出:
cut -b 1,3-7 test.txt134567ACDEFGacdefghllo w
-n表示1到前n个字符,n-表示从n开始的所有字符
打印前两个字符和从第8个开始的字符
$ cut -b -2,8- test.txt12890ABHIJabhijherold!
中文:
文件内容:
$ cat test1.txt我们好像在哪见过你记得吗?好像那是一个春天!
打印第1个字节的结果
$ cut -b 1 test1.txt▒▒▒乱码原因:中文一个字符用两个以上字节编码
-c的用法:
-c的用法和-b的用法基本相同,但是-c是以字符进行分割,能更好的提取多字节编码的字符。
文件内容:
$ cat test1.txt我们好像在哪见过你记得吗?好像那是一个春天!
打印第1个字节的结果
我
你
好
-d的用法:
前面讲的-b和-c都是以固定截取字符串,-d和-f结合就可以按照我们规定的方式截取字符串,通过-d来只是以什么为分隔符,通过-f来指示取第几项;
基本格式:
cut -d ‘指定分隔符’-f 需要第几项
打开/etc/passwd文件取前五行cat /etc/passwd|head -n 5root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologinsync:x:4:65534:sync:/bin:/bin/sync
观察发现每一行都有‘:’每一项之间通过‘:’来分隔,如果想要取第一项可以输入如下命令:
cat /etc/passwd|head -n 5 | cut -d ':' -f 1rootdaemonbinsyssync
- shell提取字符串指定的内容
- 用shell从文件中提取指定字符串的行
- 提取指定范围的字符串
- shell提取指定列并判断提取结果中是否包含指定字符串
- 从指定的字符串中提取Email
- 从指定的字符串中提取Email
- NSSCanner 提取 指定 字符串
- awk 提取两个字符串之间的内容
- sed 提取匹配的字符串内容
- Linux命令 -- 提取字符串指定字符串之间的字符串
- 正则表达式提取指定内容
- 提取文档中的指定内容
- [python]根据正则表达式提取指定的内容
- Jsoup提取指定table中所有td的内容
- java中使用WebView提取指定网页的HTML内容
- java中使用WebView提取指定网页的HTML内容
- SHELL 在指定行的前/后插入指定内容
- JavaScript截取字符串指定区域的内容
- PHP定时执行任务的实现
- GNU自动化工具链autotools
- Codeforces 610С — Harmony Analysis 找规律
- js获取 type=radio 值的方法
- C语言中格式转换问题
- shell提取字符串指定的内容
- linux网络命令--3--ping -- traceroute -- arp
- 教你透彻了解红黑树---第一篇
- Java之泛型
- openstack 安装手册
- 开发错误总结
- [投资与建设]未来10年的IT投资热点
- 全面解析9i以后Oracle Latch闩锁原理
- 用python写一个进程