ed命令是linux下的一个文档编辑命令,它主要有一个功能,具体介绍如下:
ed命令是最简单的文本编辑程序,一次只能编辑一行并且非全屏幕方式的操作。
说明:ed命令并不是很常用,但是在编辑大文件或者在shell脚本程序中进行文本编辑还是有很大用处的。
ed命令的具体命令的语法格式为ed [参数]。
参数:
-G 提供回兼容的功能
-p 指定ed在command mode的提示字符
-s 不执行开启文件时的检查功能
--help 显示帮助信息
--version 显示版本信息
以上就是小编的分享了,希望能够帮助到大家。
Linux系统基础指令(二)——grep命令
摘要:grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep 命令用于查找文件里符合条件的字符串,它能使用正则表达式搜索文本,并把匹配的行打印出来。作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,就像在windows中打开txt文件,然后使用快捷键 “Ctrl F” 在文本中查找某个字符串一样,就是说可以把grep理解成字符查找工具。
一、命令格式:grep [option] pattern file
常用参数 | |
-a --text | 不要忽略二进制的数据。 将 binary 文件以 text 文件的方式搜寻数据 |
-A --after-context=<显示行数> | 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 |
-b --byte-offset | 在显示符合样式的那一行之前,标示出该行第一个字符的编号。 |
-B --before-context=<显示行数> | 除了显示符合样式的那一行之外,并显示该行之前的内容。 |
-c --count | 计算符合样式的行数。 |
-C --context=<显示行数>或-<显示行数> | 除了显示符合样式的那一行之外,并显示该行之前后的内容。 |
-d --directories=<动作> | 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 |
-e --regexp=<范本样式> | 指定字符串做为查找文件内容的样式。 |
-E --extended-regexp | 将样式为延伸的普通表示法来使用。 |
-f --file=<规则文件> | 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。 |
-F --fixed-regexp | 将样式视为固定字符串的列表。 |
-G --basic-regexp | 将样式视为普通的表示法来使用。 |
-h --no-filename | 在显示符合样式的那一行之前,不标示该行所属的文件名称。 |
-H --with-filename | 在显示符合样式的那一行之前,表示该行所属的文件名称。 |
-i --ignore-case | 忽略字符大小写的差别。 |
-l --file-with-matches | 列出文件内容符合指定的样式的文件名称。 |
-L --files-without-match | 列出文件内容不符合指定的样式的文件名称。 |
-n --line-number | 在显示符合样式的那一行之前,标示出该行的列数编号。 |
-q --quiet或--silent | 不显示任何信息。 |
-r --recursive | 此参数的效果和指定“-d recurse”参数相同。 |
-s --no-messages | 不显示错误信息。 |
-v --revert-match | 显示不包含匹配文本的所有行。 |
-V --version | 显示版本信息。 |
-w --word-regexp | 只显示全字符合的列。 |
-x --line-regexp | 只显示全列符合的列。 |
-y | 此参数的效果和指定“-i”参数相同。 |
--color=auto | 可以将找到的关键词部分加上颜色的显示 |
二、使用例子
说明:grep 搜索字符串的命令格式:grep string filename
寻找字串的方法很多,比如想找所有以P开头的行。
^P 以P开头的行,^表示开始的意思
P$ 以P结尾的行,$表示结束的意思
^[0-9] 以数字开始的行,[]内可列举字母
^[124ab] 以1,2,4,a,或b开头的行
* 星号表示0个以上的字母(可以没有)
加号表示1个以上的字母
.\ 斜线可以去掉特殊意义
<eg> grep \'^.\' myfile.txt 列出所有以句点开头的行。
1、查找指定进程
执行指令# ps -ef|grep java。如下图
2、查找指定进程个数
执行指令# ps -ef|grep -c java。如下图
3、将多个文件之间相同的行输出来
首先执行指令# cd /etc/sysconfig/network-scripts/
然后执行指令# grep "IPADDR" ifcfg-ens192 ifcfg-lo。如下图
4、输出被模式匹配到行
执行指令# grep "root" /etc/passwd。如下图
5、只输出被模式匹配到的字符串,而不是整个行
执行指令# grep -o "root" /etc/passwd。如下图
6、从文件中查找关键词,默认情况区分大小写
执行指令# grep 'User' /etc/passwd。如下图
7、从文件中查找关键词,忽略大小写,默认情况区分大小写
执行指令# grep -i 'user' /etc/passwd。如下图
8、统计文件的行数
执行指令# grep -c "^.*$" /etc/passwd。如下图
等同于指令# wc –l。如下图
9、匹配正则表达式的开始行
执行指令# grep '^root' /etc/group。如下图
10、匹配正则表达式的结束行
执行指令# grep 'user$' /etc/group。如下图
11、使用扩展模式匹配
执行指令# netstat -an|grep -E "ESTABLISHED|WAIT|LISTEN"。如下
备注:加上-E 多条件用""包起来,然后多条件之间用|管道符分开。