学习笔记(6)

1.fgrep 不支持正则表达式搜索

2.grep abc   接受标准输入,表示可以接受管道来对输出进行处理

3.grep [file] file可有可无  可以没有文件意味着接受标准输入

  Usage: grep [OPTION]... PATTERN [FILE]...

  Usage: cat [OPTION]... [FILE]...

4.grep "$USER" /etc/passwd      grep也可以使用变量作为pattern来查找

5.grep `whoami` /etc/passwd    grep也可以使用命令替换做为pattern来查找

6.cat -n /etc/passwd | grep root   通过cat -n 的带行号内容的输出再进行grep搜索

7.grep -q 做是否包含判断  -q 选项为静默输出,不输出任何内容,可通过echo $?来判断是否命令是否执行成功

8.nmap -v -sP 172.20.20.0/24 扫网段存活主机

9.grep -e 'cat' -e 'bash' /etc/passwd 多个或者关系的pattern可以使用-e 来连接

扫描二维码关注公众号,回复: 31695 查看本文章

10.grep中的单词是由数字、下划线、字母组成的,不是通过空格分隔

11.grep -f file 中的匹配字符是或者关系  类似-e

12.通配符(pattern)是匹配文件名的内容,在有些命令使用中会有pattern的支持,正则表达式处理文本中特定的字符串(REGEXP)

13.正则表达式软件模块(PCRE:Perl Compatible Regular Expressions),依赖正则表达式的需要安装该软件包

14.单个汉字也算一个字符,所以可以通过.号来匹配

15.ls |  grep ... ls管道输出的是内容,不在是文件名,所以可以使用grep来处理

16.echo abb | grep "ax*b" 符合匹配,因为abc前的ab匹配a*b

   echo abab |grep -E "(ab)*" 匹配ab组合零次或多次

17.grep -o 只显示匹配的内容(常用),常用于取值做判断

   df |grep '/dev/sda' |grep -o " [[:digit:]]\{1,3\}%" | grep -o "[0-9]\+"|sort -nr |head -1

18.默认贪婪匹配 echo abccdd |grep "a[a-z]c"   匹配结果abcc

19.\? 出现次数为0次或1次,使用egrep(grep -E 选项可以直接使用?而不需要\来转义)

20. .放在中括号中只是.字符不是需要匹配的单个字符,不需要\线转译,如:echo "1." |grep "[a-z.]\+" 匹配

21.Ctrl + k从光标处删除至命令行尾

22.ifconfig ens33|grep -o  "[0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}[.][0-9]\{1,3\}"  |head -1

23.grep 的模式(pattern)注意要加引号,否则容易有问题

24.grep  -v "^[[:space:]]*$" f1  [[:space:]]表示有tab键或有空格

25.grep "root\>" /etc/passwd    锚定词尾

26.grep "\broot\b" /etc/passwd 锚定整个单词(与grep -w 查找单词相同)

27.grep wangwangwang |grep "\(wang\)\{3\}" 匹配整体  注意要使用转译字符

28.后向引用grep wangwangwangxxxxwangwangwang |grep "\(wang\)\{3\}.*\1

\1匹配的是结果,而非模式本身

29.grep "^bash.*bash$" /etc/passwd    查找出以bash开头同时也是bash结尾的行

30.grep '^\(.*\):.*/\1$' /etc/passwd  查找首尾相同的行

31.grep "^\(a\|b\).*" /etc/passwd    查找出以a开头或者以b开头的行

32.echo axy |grep "\(a\|b\)xy"       查找出存在axy或者bxy的行

33.grep -o "[0-9]\+" /etc/redhat-release |head -n1  找出文本中的主版本号

34.扩展正则表达式即去掉了正则表达式中的转义字符\,除了单词锚定的为/<和/>  如egrep (grep -E)

35.grep -Ewo "[0-9]{2,3}" /etc/passwd 查找出文件中存在二位到三位的数字

36.grep -E = egrep

37.echo "/etc/rc.d/init.d/functions" |grep -Eo "[^/]*/?$"    取输出内容的基名

38.vim -d file1 file2  -d选项用于比较两个文件不同之处

39.vi编辑器 I键直接跳到行首,A 直接跳到行尾

40.vi 另存为 :w  another file

41. !表示强制 q键可以直接退出,修改文件后需要q!

42.r file 读文件, 可以r!command 读入命令输出

43.vi +/pattern file pattern 为正则表达式

44.%s/\(haha\)/\1er/  vim编辑器中只支持基本的正则表达式

45.%s/^UUID/#&/

46.ctrl +r 取消撤销

47.:set ff=unix  将window文件格式的内容修改成unix文件的格式

48.vimtutor  查看vim的编辑器帮助

48.cat hellp.sh | bash    可用来远程调用

49.curl http://192.168.30.128/hello.sh |bash 远程调用执行

50.ls 不指定文件文件夹的情况下使用-d选项是显示当前路径的文件或目录而不递归目录

51.vim寄存器  3"ayy 表示复制三行到t寄存器  

              "ap  表示将t寄存器的内容粘贴,最多可以有26个寄存器即a-z

52.vim编辑器中使用ctrl +r 可以重做最后的撤销更改,使用U撤销光标落在这行后的所有的此行的更改

53.vim编辑器中使用的选择替换使用的是基本的正则表达式,所以在使用匹配次数?和+ 号需要使用转义字符,即 \? 和\+


猜你喜欢

转载自blog.51cto.com/9980200/2104918