cut和grep 选取命令
cut命令
cut:将一段信息的某一段”切“出来,处理的信息是以行为单位。
参数:
- -d ;后接分隔字符,与-f一起使用;
- -f :依据-d的分隔字符将一段信息切割成为数段,用-f取出第几段的意思;
举例:
以“:”作为分隔,列出第5列
# echo $PATH | cut -d':' -f 5
以“:”作为分隔,列出第3与第5列
# echo $PATH | cut -d':' -f 3,5
/usr/java/jdk/bin:/usr/lib64/qt-3.3/bin
cut缺点:在处理多空格相连的数据时,可能会比较吃力一点。
--------------------------
grep命令
grep:分析一行信息,若其中有匹配的关键字信息,就将该行拿出来。
语法:grep [parameter] [--color=auto] '查找字符串' filename
参数:
- -c:计算找到'查找字符串'所在行的的总数
- -i:忽略大小写的不同
- -n:顺便输出行号
- -v:反向选择,即显示没有'查找字符串'内容的那些行
- --color:可以将找到的关键字部分加颜色显示
ps:如果参数--color=auto不是默认值,每回都需要自行加上这样就很麻烦,此时使用alias命令处理后,可以每次执行grep都会自动帮你加上颜色显示。
步骤:
1.在~/.bashrc内加入一行【alias grep='grep --color=auto'】
2.source ~/.bashrc 让配置文件生效即可
grep的一些高级参数
用法:grep [-A] [-B] --color=auot '搜索字符串' filename
参数:
- -A:后面可加数字,为after的意思,除了列出该行外,后续的n行也列出来
- -B:后面可加数字,为before的意思,除了列出改行外,前面的n行也列出来
举例:
grep与基础正则表达式的使用
1 --(1)查找特定字符串--
2 获取查找字符串的前几行或后几行
3 # dmesg | grep -A3 -B1 -color=auto 'ech'
4 tg3 0000:1b:00.1: eth1: Flow control is off for TX and off for RX
5 802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
6 All bugs added by David S. Miller <davem@redhat.com>
7 8021q: adding VLAN 0 to HW filter on device eth4
8 Bridge firewalling registered
9
10 查找特定字符串
11 # grep -n 'word' log.txt
12
13 查找不包括特定字符串的内容
14 # grep -v 'word' log.txt
15
16 --(2)利用中括号[]来查找集合字符--
17 查找字符串test或tast
18 # grep 't[ae]st' log.txt
19
20 查找字符串'ii'前不带字符A的(使用反向选择[^]来完成)
21 # grep '[^A]ii' log.txt
22
23 查找字符串'ii'前没有小写字符的
24 # grep '[^a-z]ii' log.txt
25
26 查找有数字的哪些行
27 # grep '[0-9]' log.txt
28
29 --(3)行首与行尾字符^$--
30 查找以字符串'hello'开头的行
31 # grep '^hello' log.txt
32
33 查询以大写字符开头的行(会列出包含该字符的一整个字)
34 # grep '^[A-Z]' log.txt
35
36 查找不要开头是英文字母的行
37 # grep '^[^a-zA-Z]' log.txt
38 注意:^符合在字符集合符合(中括号[])之内与之外是不同的,在[]内代表反向选择,在[]之外则代表定位在行首的意义。
39
40 查询行尾结束为小数点(.)的那一行
41 # grep '\.$' log.txt
42 注:因为小数点具有其他意义,所有必须用转义字符(\)来加以解除其特殊意义。
43
44 查找空白行(只有行首和行尾)
45 # grep -n '^$' log.txt
46
47 查找没有空白行与#开头的行
48 # grep -v '^$' log.txt | grep -v '^#'
49
50 --(4)任意一个字符.与重复字符*--
51 注:这两个符合在正则表达式中的意义如下:
52 --.(小数点):代表一定有一个任意字符的意思
53 --*(星号):代表重复前一个0到无穷多次的意思,为组合形态
54
55 查找字符串iXXa,即共四个字符,其中XX表示随便的意思
56 # grep -n 'i..a' log.txt
57
58 查找至少含有两个ii以上的字符串,需要使用iii*
59 # grep -n 'iii*' log.txt
60 注:"i*"代表空字符或一个i以上的字符(空字符表示没有字符也可以的意思),所有将会输出所有的数据到屏幕上;同理,"ii*",则第一个i一定会存在,但第二个i则是可有可无的多个i,所有凡是含义i,ii,iii等,都会被列出来。
61
62 查找以字符g开头与g结尾的字符串,中间任意字符都可以(".*" 代表0个或多个任意字符的意思)
63 # grep -n 'g.*g' log.txt
64
65 --(5)限制连续字符范围{}--
66 注意:因为{与}在shell中是有特殊含义的,因此,我们必须要是使用转义字符\来让它时区特殊意义才行。\{n,m\}:连续n到m个的前一个字符
67
68 查找两个i的字符串
69 # grep -n 'i\{2\}' log.txt
70
71 查找a后面接2个到5个i,后面在接一个a的字符串
72 # grep -n 'a\{2,5\}a' log.txt
73
74 查找a后面接2个以上i,后面在接一个a的字符串
75 # grep -n 'a\{2,\}a' log.txt
76
77 查找以a开头的文件(这里需要与通配符【ls -l a*】以a开头的任何文件名的文件区别开来)
78 # ls | grep -n '^a.*'
cut和grep 选取命令的更多相关文章
- 每天学点Linux-选取命令CUT和GREP
选取命令就是将一段数据经过分析后,取出我们所想要的.或者是经由分析关键词,取得我们所想要的那一行!一般来说,选取命令通常是针对一行一行的数据来进行分析的, 并不是整篇信息分析.cut cut命令可以将 ...
- cut、grep和排序命令
1.cut 对于行进行操作 cut -d ':' -f 2 以':'为分隔符,切出第二部分的所有行 cut -c 12- 从第12字符往后的字符所有行 2.grep grep '选取的串' 选出所有含 ...
- 【文本处理命令】之grep搜索命令详解
一.grep搜索命令 在日常使用中grep命令也是会经常用到的一个搜索命令.grep命令用于在文本中执行关键词搜索,并显示匹配的结果. 格式: grep [选项] [文件] Usage: grep [ ...
- windows类似grep的命令——findstr
windows类似grep的命令——findstr 使用Chrome发现访问google总是向香港那边跳转,估计配置文件中google网站映射的地址是www.google.com.hk,便想着改配 ...
- Linux grep/egrep命令详解
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来 grep搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2. grep的规则表达式( ...
- ps | grep app 命令不显示grep app本身进程的几种方式
ps | grep app 命令不显示grep app本身进程的几种方式 使用ps命令查询进程,常常我们不想打印出"ps | grep app"这个当前进程,比如如下: [root ...
- windows 下面的grep awk 命令
windows 下面的grep awk 命令 grep 学习了:http://blog.csdn.net/chengfans/article/details/53784936 awk学习了:http: ...
- 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解
linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...
- Linux下的cut选取命令详解
定义 正如其名,cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的.cut是以每一行为一个处理对象的,这种机制和sed是一样的 剪切依据 cut命令主要是接受三个定位方法: 第一,字节(by ...
随机推荐
- Java List去重以及效率分析
List去重无非几种方法: 下面文章提供的两种: https://blog.csdn.net/u012156163/article/details/78338574, 以及使用List.stream. ...
- selenium模拟不同浏览器的方式
from selenium import webdriver # 使用Firefox手机浏览器 user_agent = "Mozilla/5.0 (iPad; CPU OS 12_1 li ...
- Linux 文件不能被root修改与编辑原因
近段时间公司的一台服务器被恶意添加了一些定时器任务到crond的配置文件"/var/spool/cron/root"里,本想着只要简单使用crontab -e命令把该恶意的任务去除 ...
- JMeter定时器设置延迟与同步
JMeter定时器一般用来设置延迟与同步.它的作用域和优先级如下: 定时器的优先级高于Sampler. 在同一作用域(比如控制器下)有多个定时器存在,每个定时器都会执行. 在某一Sampler节点下的 ...
- 配置NFS共享, Linux与Linux的共享
• Network File System,网络文件系统 – 用途:为客户机提供共享使用的文件夹 – 协议:NFS(TCP/UDP 2049).RPC(TCP/UDP 111) 只读的NFS共享 服务 ...
- NEXTCLOUD 常见错误
HTTP请求头"Strict-Transport-Security"没有配置为至少"15552000"秒出于增强安全性考虑推荐按照安全提示中的说明启用HSTS ...
- Git 高级用法,喜欢就拿去用
如果你觉得 git 很迷惑人,那么这份小抄正是为你准备的! 请注意我有意跳过了 git commit.git pull/push 之类的基本命令,这份小抄的主题是 git 的一些「高级」用法. 导航 ...
- 循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
在我们开发的页面中,让页面有一些动画效果,可以让页面更加有吸引力,只要不是处理太过,一般人还是希望有一些动态效果,如滚动动画加载,悬停处理变化等效果,本篇随笔介绍使用wow.js动画组件以及自定义的C ...
- 基于ABP落地领域驱动设计-05.实体创建和更新最佳实践
目录 系列文章 数据传输对象 输入DTO最佳实践 不要在输入DTO中定义不使用的属性 不要重用输入DTO 输入DTO中验证逻辑 输出DTO最佳实践 对象映射 学习帮助 系列文章 基于ABP落地领域驱动 ...
- (Vue中)cehart在同一个dom上画图图切换时饼图有折线图的坐标系
网上都是别人转载的,下面是转载的代码,在Vue中根本不适用 var echartrunningstate = null; if (echartrunningstate && echar ...