加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常用命令及参数正则表达式总结

发布时间:2020-12-14 00:34:44 所属栏目:百科 来源:网络整理
导读:more : 当一个目录下的文件内容太多,可以用more来分页显示。这得和管道|结合起来 cat test .log | more -5 #“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入 less: 也是对文件或其他输出显示的工具; b缓冲区大小设置缓冲区的大小 -e当文件显

more :当一个目录下的文件内容太多,可以用more来分页显示。这得和管道|结合起来

cat test .log | more -5

#“|”表示管道,作用是可以将前面命令的输出当做后面命令的输入

less: 也是对文件或其他输出显示的工具;

b<缓冲区大小>设置缓冲区的大小

-e当文件显示结束后,自动离开

-f强迫打开特殊文件,例如外围设备代号、目录和二进制文件

-g只标志最后搜索的关键词

-i忽略搜索时的大小写

-m显示类似more命令的百分比

-N显示每行的行号

1.实例 ps查看进程信息并通过less分页显示同时显示行号

cat -n test .log

nl test log

less -N

grep -n

#上面给出的都可以显示行号

ps-ef|less-N



浏览多个文件:

lesstest2.logtest.log

输入:n后,切换到 test.log

输入:p后,切换到test2.log

ps:当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件


5.附加备注

1.全屏导航

ctrl+F-向前移动一屏

ctrl+B-向后移动一屏

ctrl+D-向前移动半屏

ctrl+U-向后移动半屏

2.单行导航

j-向前移动一行

k-向后移动一行

3.其它导航

G-移动到最后一行

g-移动到第一行

q/ZZ-退出less命令

linux正则表达(BRE‘’base regular expression'')主要基于grep ;主要以行处理


^是表示以^word 开头;

$是表示以$word结尾

grep '' ^t'' test .log :表示过滤出以t开头的内容;过滤到的内容为有颜色;可以编辑

vim /etc/profile

alias=grep ='grep --color =auto'

source /etc/profile #永久生效

^$是表示以空行过滤;grep '' ^$'' test .log ;

grep -v '' ^$'' test .log #-v 表示排除或去除

grep '' !^$'' test .log #同上

. 是表示代表且只能表示一个任意字符;

表示转义字符;保持原有的意思;

* 表示重0个多个前面一个字符;不代表所有,不是linux里的通配符,

.*表示匹配所有的字符,^.*表示以任意字符开头

grep -o'' 0*'' test .log # - 0 表示只是显示匹配的内容;

[abc] 表示匹配字符集合内任意一个字符[a-z]

[^adc] ^在中括号里表示取反。非

grep '' [^0-9 ] '' oldboy .log

过滤出了有颜色的内容

{n,m}表示n次到 m次 前面的一个字符

{,m}至多m次,少了不限

{n}n次

注意: 用grep 需要转义大括号{},用egrep 不需要转义啦

-A<显示行数>--after-context=<显示行数>#除了显示符合范本样式的那一列之外,并显示该行之后的内容

-C<显示行数>--context=<显示行数>或-<显示行数>#除了显示符合样式的那一行之外,并显示该行之前后的内容。

-B<显示行数>--before-context=<显示行数>#除了显示符合样式的那一行之外,并显示该行之前的内容

-a--text#不要忽略二进制的数据。

-n -- 显示内容行号

-b--byte-offset#在显示符合样式的那一行之前,标示出该行第一个字符的编号。

-c--count#计算符合样式的列数。 、

-d<动作>--directories=<动作>#当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

-e<范本样式>--regexp=<范本样式>#指定字符串做为查找文件内容的样式。

-E--extended-regexp#将样式为延伸的普通表示法来使用

-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#此参数的效果和指定“-drecurse”参数相同。

-s--no-messages#不显示错误信息。

-v--revert-match#显示不包含匹配文本的所有行。

-V--version#显示版本信息。

-w--word-regexp#只显示全字符合的列。

-x--line-regexp#只显示全列符合的列。

-y#此参数的效果和指定“-i”参数相同

sed 常用方法及命令;

  • 选项与参数:
    -n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上

  • -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

  • -e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将 sed 的动作写在一个文件内,

  • -f filename 则可以运行 filename 内的 sed 动作;

  • -r :sed 的动作支持的是延伸型正规表示法的语法。(默认是基础正规表示法语法)

  • -i :直接修改读取的文件内容,而不是输出到终端

  • -p : 打印内容

sed' #boy #girl#g' test .log ;把tes.log 文件内容中的boy替换成girl ,直接修改而不是输出到屏幕加 ―i 参数

取出linux的iP地址;

ifcongfig | grep ''inet addr ''|sed 's# ^.*r:# #g'|sed 's#BC.*$# #g'(复杂取iP

简方法:

ifcongfig |sed -n 's#^.*r:(.*)BC.*$#1#gp'

注#如果再加个括号,用/2 取出

待续。。。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读