9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

前端之家收集整理的这篇文章主要介绍了9.1 正则介绍_grep上 9.2 grep中 9.3 grep下前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. 9.1正则介绍_grep
  2.  
  3. 9.2grep
  4.  
  5. 9.3grep
  6.  
  7. 扩展
  8. 把一个目录下,过滤所有*.PHP文档中含有eval的行
  9. grep-r--include="*.PHP"'eval'/data/
  10.  
  11.  
  12.  
  13.  
  14.  
  15. #9.1正则介绍grep上
  16.  
  17. ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170822/222929890.png?imageslim)
  18. ```
  19. [root@aminglinux-01~]#ls
  20. 1111_heard.txt1.txt1.txt.bak2.txt3.txtaminglinuxbb.txttest
  21. 1231_sorft.txt1.txt~2342.txt.bak4.txtanaconda-ks.cfg.1biji.txt
  22. [root@aminglinux-01~]#mkdirgrep
  23. [root@aminglinux-01~]#cdgrep/
  24. [root@aminglinux-01grep]#cp/etc/passwd.
  25. [root@aminglinux-01grep]#ls
  26. passwd
  27. [root@aminglinux-01grep]#pwd
  28. /root/grep
  29. [root@aminglinux-01grep]#ls
  30. passwd
  31.  
  32. [root@aminglinux-01grep]#grep'nologin'passwd
  33. bin:x:1:1:bin:/bin:/sbin/nologin
  34. daemon:x:2:2:daemon:/sbin:/sbin/nologin
  35. adm:x:3:4:adm:/var/adm:/sbin/nologin
  36. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  37. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  38. operator:x:11:0:operator:/root:/sbin/nologin
  39. games:x:12:100:games:/usr/games:/sbin/nologin
  40. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  41. nobody:x:99:99:Nobody:/:/sbin/nologin
  42. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  43. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  44. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  45. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  46. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  47. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  48. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  49. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  50. user4:x:1006:1005::/home/aming111:/sbin/nologin
  51. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  52. [root@aminglinux-01grep]#whichgrep
  53. aliasgrep='grep--color=auto'
  54. /usr/bin/grep
  55. [root@aminglinux-01grep]#
  56. ```
  57. -grep-c查看行数
  58. ```
  59. [root@aminglinux-01grep]#grep-c'nologin'passwd
  60. 19
  61. [root@aminglinux-01grep]#
  62. ```
  63. -grep-n查看行号在最左侧显示
  64. ```
  65. [root@aminglinux-01grep]#grep-n'nologin'passwd
  66. 2:bin:x:1:1:bin:/bin:/sbin/nologin
  67. 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
  68. 4:adm:x:3:4:adm:/var/adm:/sbin/nologin
  69. 5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  70. 9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  71. 10:operator:x:11:0:operator:/root:/sbin/nologin
  72. 11:games:x:12:100:games:/usr/games:/sbin/nologin
  73. 12:ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  74. 13:nobody:x:99:99:Nobody:/:/sbin/nologin
  75. 14:systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  76. 15:systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  77. 16:dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  78. 17:polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  79. 18:tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  80. 19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  81. 20:sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  82. 21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  83. 26:user4:x:1006:1005::/home/aming111:/sbin/nologin
  84. 29:saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  85. [root@aminglinux-01grep]#
  86. ```
  87. -grep-i不区分大小写,先vimpasswd打开把第一行nologin改成大写NOLOGIN
  88. ```
  89. [root@aminglinux-01grep]#vimpasswd
  90.  
  91. root:x:0:0:root:/root:/bin/bash
  92. bin:x:1:1:bin:/bin:/sbin/nologin
  93. daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  94. adm:x:3:4:adm:/var/adm:/sbin/nologin
  95. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  96. sync:x:5:0:sync:/sbin:/bin/sync
  97. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  98. halt:x:7:0:halt:/sbin:/sbin/halt
  99. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  100. operator:x:11:0:operator:/root:/sbin/nologin
  101. games:x:12:100:games:/usr/games:/sbin/nologin
  102. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  103. nobody:x:99:99:Nobody:/:/sbin/nologin
  104. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  105. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  106. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  107. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  108. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  109. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  110. --插入--
  111.  
  112. [root@aminglinux-01grep]#vimpasswd
  113. ```
  114. -grep-nigrep-n的区别,会把第三行忽略,grep-ni就不会区分大小写
  115. ```
  116. [root@aminglinux-01grep]#grep-n'nologin'passwd
  117. 2:bin:x:1:1:bin:/bin:/sbin/nologin
  118. 4:adm:x:3:4:adm:/var/adm:/sbin/nologin
  119.  
  120.  
  121.  
  122. [root@aminglinux-01grep]#grep-ni'nologin'passwd
  123. 2:bin:x:1:1:bin:/bin:/sbin/nologin
  124. 3:daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  125. 4:adm:x:3:4:adm:/var/adm:/sbin/nologin
  126. ```
  127. -grep-v取反,所有不带nologin的行grep-vni看下
  128. ```
  129. [root@aminglinux-01grep]#grep-vni'nologin'passwd
  130. 1:root:x:0:0:root:/root:/bin/bash
  131. 6:sync:x:5:0:sync:/sbin:/bin/sync
  132. 7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  133. 8:halt:x:7:0:halt:/sbin:/sbin/halt
  134. 22:aming:x:1000:1005::/home/aming:/bin/bash
  135. 23:user1:x:1001:1001::/home/user1:/bin/bash
  136. 24:user2:x:1002:1002::/home/user2:/bin/bash
  137. 25:user3:x:1004:1005::/home/user3:/bin/bash
  138. 27:user5:x:1007:1007::/home/user5:/bin/bash
  139. 28:user6:x:1008:1010::/home/user6:/bin/bash
  140. [root@aminglinux-01grep]#
  141. ```
  142. --r遍历所有的字目录
  143. ```
  144. [root@aminglinux-01grep]#grep-r'root'/etc/
  145. /etc/pki/ca-trust/ca-legacy.conf:#TheupstreamMozilla.orgprojecttestsallchangestotherootCA
  146. /etc/pki/ca-trust/ca-legacy.conf:#totemporarilykeepcertain(legacy)rootCAcertificatestrusted,/etc/pki/ca-trust/ca-legacy.conf:#ItmaykeeprootCAcertificateastrusted,whichtheupstream
  147. /etc/pki/ca-trust/extracted/README:rootCAcertificates.
  148. /etc/pki/ca-trust/extracted/java/README:rootCAcertificates.
  149. ...
  150. ```
  151. -如果不加r,先把etc目录下的root过滤出来放到tmp目录下的grep.log下,再去grep.log下找带passwd
  152. ```
  153. [root@aminglinux-01grep]#grep'root'/etc/
  154. grep:/etc/:是一个目录
  155. [root@aminglinux-01grep]#grep'root'/etc/passwd
  156. root:x:0:0:root:/root:/bin/bash
  157. operator:x:11:0:operator:/root:/sbin/nologin
  158. [root@aminglinux-01grep]#
  159.  
  160. [root@aminglinux-01grep]#grep-r'root'/etc/>/tmp/grep.log
  161. [root@aminglinux-01grep]#greppasswd/tmp/grep.log
  162. /etc/passwd:root:x:0:0:root:/root:/bin/bash
  163. /etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin
  164. /etc/passwd-:root:x:0:0:root:/root:/bin/bash
  165. /etc/passwd-:operator:x:11:0:operator:/root:/sbin/nologin
  166. /etc/postfix/main.cf:#thesystempasswdfileinthechrootjailisjustnotpractical.
  167. [root@aminglinux-01grep]#
  168. ```
  169. --A后面跟数字,表示过滤出符合要求的行以及下面n
  170.  
  171. -下面过滤出passwd文件里的带有root的行,以及下面的2
  172. ```
  173. [root@aminglinux-01grep]#grep-nA2'root'passwd
  174. 1:root:x:0:0:root:/root:/bin/bash
  175. 2-bin:x:1:1:bin:/bin:/sbin/nologin
  176. 3-daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  177. --
  178. 10:operator:x:11:0:operator:/root:/sbin/nologin
  179. 11-games:x:12:100:games:/usr/games:/sbin/nologin
  180. 12-ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  181. [root@aminglinux-01grep]#
  182.  
  183. ```
  184.  
  185. --B后面跟数字,表示过滤出符合要求的行以及上面n
  186. -下面过滤出paswd文件里的带有root的行,以及上面的3
  187. ```
  188. [root@aminglinux-01grep]#grep-nB3'root'passwd
  189. 1:root:x:0:0:root:/root:/bin/bash
  190. --
  191. 7-shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  192. 8-halt:x:7:0:halt:/sbin:/sbin/halt
  193. 9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  194. 10:operator:x:11:0:operator:/root:/sbin/nologin
  195. [root@aminglinux-01grep]#
  196.  
  197. ```
  198.  
  199. --C后面跟数字,表示过滤出符合要求的行以及上下n
  200. -下面过滤出passwd文件里的带有root的行,以及上下2
  201. ```
  202. [root@aminglinux-01grep]#grep-nC2'root'passwd
  203. 1:root:x:0:0:root:/root:/bin/bash
  204. 2-bin:x:1:1:bin:/bin:/sbin/nologin
  205. 3-daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  206. --
  207. 8-halt:x:7:0:halt:/sbin:/sbin/halt
  208. 9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  209. 10:operator:x:11:0:operator:/root:/sbin/nologin
  210. 11-games:x:12:100:games:/usr/games:/sbin/nologin
  211. 12-ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  212. [root@aminglinux-01grep]#
  213.  
  214. ```
  215.  
  216.  
  217.  
  218. #9.2grep中
  219.  
  220. ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170822/230138784.png?imageslim)
  221. -grep'[0-9]'passwd过滤出带有数字0-9
  222.  
  223. ```
  224. [root@aminglinux-01grep]#grep'[0-9]'passwd
  225. root:x:0:0:root:/root:/bin/bash
  226. bin:x:1:1:bin:/bin:/sbin/nologin
  227. daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  228. adm:x:3:4:adm:/var/adm:/sbin/nologin
  229. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  230. sync:x:5:0:sync:/sbin:/bin/sync
  231. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  232. halt:x:7:0:halt:/sbin:/sbin/halt
  233. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  234. operator:x:11:0:operator:/root:/sbin/nologin
  235. games:x:12:100:games:/usr/games:/sbin/nologin
  236. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  237. nobody:x:99:99:Nobody:/:/sbin/nologin
  238. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  239. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  240. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  241. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  242. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  243. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  244. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  245. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  246. aming:x:1000:1005::/home/aming:/bin/bash
  247. user1:x:1001:1001::/home/user1:/bin/bash
  248. user2:x:1002:1002::/home/user2:/bin/bash
  249. user3:x:1004:1005::/home/user3:/bin/bash
  250. user4:x:1006:1005::/home/aming111:/sbin/nologin
  251. user5:x:1007:1007::/home/user5:/bin/bash
  252. user6:x:1008:1010::/home/user6:/bin/bash
  253. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  254. [root@aminglinux-01grep]#
  255. ```
  256. -grep-vn'[0-9]'/etc/inittba只要带数字的行都不要
  257. ```
  258. [root@aminglinux-01grep]#grep-vn'[0-9]'/etc/inittab
  259. 1:#inittabisnolongerusedwhenusingsystemd.
  260. 2:#
  261. 3:#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  262. 4:#
  263. 5:#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  264. 6:#
  265. 7:#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets:
  266. 8:#
  267. 11:#
  268. 12:#Toviewcurrentdefaulttarget,run:
  269. 13:#systemctlget-default
  270. 14:#
  271. 15:#Tosetadefaulttarget,run:
  272. 16:#systemctlset-defaultTARGET.target
  273. 17:#
  274. [root@aminglinux-01grep]#
  275.  
  276. ```
  277. -[]vim看下是9行有个310行有个5
  278. ```
  279. 1#inittabisnolongerusedwhenusingsystemd.
  280. 2#
  281. 3#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  282. 4#
  283. 5#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  284. 6#
  285. 7#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets:
  286. 8#
  287. 9#multi-user.target:analogoustorunlevel3
  288. 10#graphical.target:analogoustorunlevel5
  289. 11#
  290. 12#Toviewcurrentdefaulttarget,run:
  291. 13#systemctlget-default
  292. 14#
  293. 15#Tosetadefaulttarget,run:
  294. 16#systemctlset-defaultTARGET.target
  295. 17#
  296. ~
  297. ~
  298. ~
  299. :setnu
  300. ```
  301. -grep-n'^#'inittab过滤以#开头的行
  302. ```
  303. [root@aminglinux-01grep]#grep-n'^#'/etc/inittab
  304. 1:#inittabisnolongerusedwhenusingsystemd.
  305. 2:#
  306. 3:#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  307. 4:#
  308. 5:#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  309. 6:#
  310. 7:#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets:
  311. 8:#
  312. 9:#multi-user.target:analogoustorunlevel3
  313. 10:#graphical.target:analogoustorunlevel5
  314. 11:#
  315. 12:#Toviewcurrentdefaulttarget,run:
  316. 16:#systemctlset-defaultTARGET.target
  317. 17:#
  318.  
  319. ```
  320. -先拷贝一下这个/etc/inittab文件到当前目录下来,不能直接修改文件/etc/inittab系统配置文件,改错了,会会容易导致系统启动不了,出问题
  321.  
  322. ```
  323. [root@aminglinux-01grep]#cp/etc/inittab./
  324. [root@aminglinux-01grep]#viminittab
  325.  
  326. 1#inittabisnolongerusedwhenusingsystemd.
  327. 2#
  328. 3#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  329. 4#
  330. 5#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  331. 6#
  332. 7#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets:
  333. 8#
  334. 9#multi-user.target:analogoustorunlevel3
  335. 10#graphical.target:analogoustorunlevel5
  336. 11ldldldldl
  337. 12#
  338. 13#Toviewcurrentdefaulttarget,run:
  339. 14#systemctlget-default
  340. 15#
  341. 16#Tosetadefaulttarget,run:
  342. 17#systemctlset-defaultTARGET.target
  343. 18#
  344. ~
  345. :setnu
  346. ```
  347. -在11行随便加了点东西,再来grep-n'^#'inittab,找出以#开头的行找出来,发现第11行没有了
  348. ```
  349. [root@aminglinux-01grep]#grep-n'^#'inittab
  350. 1:#inittabisnolongerusedwhenusingsystemd.
  351. 2:#
  352. 3:#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  353. 4:#
  354. 5:#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  355. 6:#
  356. 7:#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets:
  357. 8:#
  358. 9:#multi-user.target:analogoustorunlevel3
  359. 10:#graphical.target:analogoustorunlevel5
  360. 12:#
  361. 13:#Toviewcurrentdefaulttarget,run:
  362. 14:#systemctlget-default
  363. 15:#
  364. 16:#Tosetadefaulttarget,run:
  365. 17:#systemctlset-defaultTARGET.target
  366. 18:#
  367. [root@aminglinux-01grep]#
  368. ```
  369. -grep-nv'^#'inittab把不以#开头的行找出来
  370. ```
  371. [root@aminglinux-01grep]#grep-nv'^#'inittab
  372. 11:ldldldldl
  373. [root@aminglinux-01grep]#
  374. ```
  375. -再进入viminittab里面修改文件
  376. ```
  377. [root@aminglinux-01grep]#viminittab
  378.  
  379. #inittabisnolongerusedwhenusingsystemd.
  380. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  381. #
  382. #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  383. #
  384. #systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets:
  385. &*&*&*&*
  386. #multi-user.target:analogoustorunlevel3
  387. aaaaaaaaaaaaa
  388. #graphical.target:analogoustorunlevel5
  389. ldldldldl
  390. #
  391. #Toviewcurrentdefaulttarget,run:
  392. #systemctlget-default
  393. 11111111111
  394. #Tosetadefaulttarget,run:
  395. #systemctlset-defaultTARGET.target
  396. #
  397. :wq
  398.  
  399. [root@aminglinux-01grep]#viminittab
  400. [root@aminglinux-01grep]#pwd
  401. /root/grep
  402. [root@aminglinux-01grep]#
  403.  
  404. ```
  405. -再过滤下
  406. ```
  407. [root@aminglinux-01grep]#grep-v'^#'inittab
  408. &*&*&*&*
  409. aaaaaaaaaaaaa
  410. ldldldldl
  411. 11111111111
  412. [root@aminglinux-01grep]#
  413. ```
  414. -grep'[^0-9]'inittab表示过滤出非数字的带有一个字符的地方,在[^0-9]表示选非0-9
  415. ```
  416. [root@aminglinux-01grep]#grep'[^0-9]'inittab
  417. #inittabisnolongerusedwhenusingsystemd.
  418. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  419. #
  420. #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  421. #
  422. #systemduses'targets'insteadofrunlevels.Bydefault,run:
  423. #systemctlget-default
  424. #Tosetadefaulttarget,run:
  425. #systemctlset-defaultTARGET.target
  426. #
  427. [root@aminglinux-01grep]#
  428. ```
  429. -再编辑下inittab文件
  430. ```
  431. [root@aminglinux-01grep]#viminittab
  432.  
  433. #inittabisnolongerusedwhenusingsystemd.
  434. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  435. 111111111aaa23333333
  436. #
  437. #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  438. #
  439. #systemduses'targets'insteadofrunlevels.Bydefault,run:
  440. #systemctlset-defaultTARGET.target
  441. ```
  442. -以非数字的一个字符grep'[^0-9]'inittab
  443. ```
  444. [root@aminglinux-01grep]#grep'[^0-9]'inittab
  445. #inittabisnolongerusedwhenusingsystemd.
  446. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  447. 111111111aaa23333333
  448. #
  449. #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  450. #
  451. #systemduses'targets'insteadofrunlevels.Bydefault,run:
  452. #systemctlset-defaultTARGET.target
  453. #
  454. [root@aminglinux-01grep]#
  455. ```
  456. -符合非数字的行开头的行grep'^[^0-9]'inittab
  457. ```
  458. [root@aminglinux-01grep]#grep'^[^0-9]'inittab
  459. #inittabisnolongerusedwhenusingsystemd.
  460. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM.
  461. #
  462. #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target
  463. #
  464. #systemduses'targets'insteadofrunlevels.Bydefault,run:
  465. #systemctlset-defaultTARGET.target
  466. #
  467. ```
  468. -符合数字开头的grep-vn'^[^0-9]'inittab
  469. ```
  470. [root@aminglinux-01grep]#grep-vn'^[^0-9]'inittab
  471. 3:111111111aaa23333333
  472. 16:11111111111
  473. [root@aminglinux-01grep]#
  474. ```
  475.  
  476.  
  477.  
  478. #9.3grep下
  479.  
  480. -grep'r.o'passwd.代表任意一个字符
  481. ```
  482. [root@aminglinux-01grep]#grep'r.o'passwd
  483. root:x:0:0:root:/root:/bin/bash
  484. operator:x:11:0:operator:/root:/sbin/nologin
  485. [root@aminglinux-01grep]#
  486. ```
  487. 1.随便在passwd文件里编辑一些
  488. ```
  489. [root@aminglinux-01grep]#vimpasswd
  490.  
  491. root:x:0:0:root:/root:/bin/bash
  492. bin:x:1:1:bin:/bin:/sbin/nologin
  493. dskdklldkdddkdkrao:222
  494. daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  495. 222222:r>o:ldkdkdkd
  496. ```
  497. 2.再看下
  498. ```
  499. [root@aminglinux-01grep]#grep'r.o'passwd
  500. root:x:0:0:root:/root:/bin/bash
  501. dskdklldkdddkdkrao:222
  502. 222222:r>o:ldkdkdkd
  503. operator:x:11:0:operator:/root:/sbin/nologin
  504. [root@aminglinux-01grep]#
  505. ```
  506. 4..也可以匹配到
  507. ```
  508. [root@aminglinux-01grep]#vimpasswd
  509. 222222:r.o:ldkdkdkd
  510.  
  511. [root@aminglinux-01grep]#grep'r.o'passwd
  512. root:x:0:0:root:/root:/bin/bash
  513. dskdklldkdddkdkrao:222
  514. 222222:r.o:ldkdkdkd
  515. operator:x:11:0:operator:/root:/sbin/nologin
  516. [root@aminglinux-01grep]#
  517. ```
  518.  
  519. -grep'o*o'passwd*表示*左边的字符重复0-nn表示随意的数字
  520. ```
  521. [root@aminglinux-01grep]#grep'o*o'passwd
  522.  
  523. root:x:0:0:root:/root:/bin/bash
  524. bin:x:1:1:bin:/bin:/sbin/nologin
  525. dskdklldkdddkdkrao:222
  526. daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  527. 222222:r.o:ldkdkdkd
  528. adm:x:3:4:adm:/var/adm:/sbin/nologin
  529. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  530. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  531. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  532. operator:x:11:0:operator:/root:/sbin/nologin
  533. games:x:12:100:games:/usr/games:/sbin/nologin
  534. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  535. nobody:x:99:99:Nobody:/:/sbin/nologin
  536. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  537. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  538. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  539. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  540. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  541. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  542. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  543. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  544. aming:x:1000:1005::/home/aming:/bin/bash
  545. user1:x:1001:1001::/home/user1:/bin/bash
  546. user2:x:1002:1002::/home/user2:/bin/bash
  547. user3:x:1004:1005::/home/user3:/bin/bash
  548. user4:x:1006:1005::/home/aming111:/sbin/nologin
  549. user5:x:1007:1007::/home/user5:/bin/bash
  550. user6:x:1008:1010::/home/user6:/bin/bash
  551. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  552. [root@aminglinux-01grep]#
  553. ```
  554. -改下文件passwd增加3o,4o
  555. ```
  556. [root@aminglinux-01grep]#vimpasswd
  557.  
  558. user5:x:1007:1007::/hoooome/user5:/bin/bash
  559. user6:x:1008:1010::/hooome/user6:/bin/bash
  560.  
  561. [root@aminglinux-01grep]#grep'o*o'passwd
  562. root:x:0:0:root:/root:/bin/bash
  563. bin:x:1:1:bin:/bin:/sbin/nologin
  564. dskdklldkdddkdkrao:222
  565. daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  566. 222222:r.o:ldkdkdkd
  567. adm:x:3:4:adm:/var/adm:/sbin/nologin
  568. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  569. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  570. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  571. operator:x:11:0:operator:/root:/sbin/nologin
  572. games:x:12:100:games:/usr/games:/sbin/nologin
  573. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  574. nobody:x:99:99:Nobody:/:/sbin/nologin
  575. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  576. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  577. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  578. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  579. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  580. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  581. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  582. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  583. aming:x:1000:1005::/home/aming:/bin/bash
  584. user1:x:1001:1001::/home/user1:/bin/bash
  585. user2:x:1002:1002::/home/user2:/bin/bash
  586. user3:x:1004:1005::/home/user3:/bin/bash
  587. user4:x:1006:1005::/home/aming111:/sbin/nologin
  588. user5:x:1007:1007::/hoooome/user5:/bin/bash
  589. user6:x:1008:1010::/hooome/user6:/bin/bash
  590. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  591. [root@aminglinux-01grep]#
  592. ```
  593.  
  594. -.*表示任意个任意字符所有的都匹配
  595. ```
  596. [root@aminglinux-01grep]#grep'.*'passwd
  597.  
  598. root:x:0:0:root:/root:/bin/bash
  599. bin:x:1:1:bin:/bin:/sbin/nologin
  600. dskdklldkdddkdkrao:222
  601. daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN
  602. 222222:r.o:ldkdkdkd
  603. adm:x:3:4:adm:/var/adm:/sbin/nologin
  604. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  605. sync:x:5:0:sync:/sbin:/bin/sync
  606. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  607. halt:x:7:0:halt:/sbin:/sbin/halt
  608. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  609. operator:x:11:0:operator:/root:/sbin/nologin
  610. games:x:12:100:games:/usr/games:/sbin/nologin
  611. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  612. nobody:x:99:99:Nobody:/:/sbin/nologin
  613. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  614. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  615. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  616. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  617. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  618. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  619. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  620. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  621. aming:x:1000:1005::/home/aming:/bin/bash
  622. user1:x:1001:1001::/home/user1:/bin/bash
  623. user2:x:1002:1002::/home/user2:/bin/bash
  624. user3:x:1004:1005::/home/user3:/bin/bash
  625. user4:x:1006:1005::/home/aming111:/sbin/nologin
  626. user5:x:1007:1007::/hoooome/user5:/bin/bash
  627. user6:x:1008:1010::/hooome/user6:/bin/bash
  628. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  629.  
  630.  
  631. [root@aminglinux-01grep]#grep'aming.*bash'passwd
  632. aming:x:1000:1005::/home/aming:/bin/bash
  633. [root@aminglinux-01grep]#
  634. ```
  635. -grep'o\{2\}'passwd表示匹配o出现俩次的字符o{2}表示前面字符o的重复范围位o重复2
  636. ```
  637. [root@aminglinux-01grep]#grep'o{2}'passwd
  638. [root@aminglinux-01grep]#grep'o\{2\}'passwd
  639. root:x:0:0:root:/root:/bin/bash
  640. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  641. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  642. operator:x:11:0:operator:/root:/sbin/nologin
  643. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  644. user5:x:1007:1007::/hoooome/user5:/bin/bash
  645. user6:x:1008:1010::/hooome/user6:/bin/bash
  646. [root@aminglinux-01grep]#
  647. ```
  648. -如果觉得过o\{2\}太麻烦可以使用grep-E或者egrep
  649. ```
  650. [root@aminglinux-01grep]#grep-E'o{2}'passwd
  651. root:x:0:0:root:/root:/bin/bash
  652. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  653. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  654. operator:x:11:0:operator:/root:/sbin/nologin
  655. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  656. user5:x:1007:1007::/hoooome/user5:/bin/bash
  657. user6:x:1008:1010::/hooome/user6:/bin/bash
  658.  
  659.  
  660. [root@aminglinux-01grep]#egrep'o{2}'passwd
  661. root:x:0:0:root:/root:/bin/bash
  662. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  663. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  664. operator:x:11:0:operator:/root:/sbin/nologin
  665. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  666. user5:x:1007:1007::/hoooome/user5:/bin/bash
  667. user6:x:1008:1010::/hooome/user6:/bin/bash
  668. [root@aminglinux-01grep]#
  669. ```
  670. -grep-E'(oo){2}'passwd表示一个组合出现2oo
  671. ```
  672. [root@aminglinux-01grep]#grep-E'(oo){2}'passwd
  673. user5:x:1007:1007::/hoooome/user5:/bin/bash
  674. [root@aminglinux-01grep]#
  675. ```
  676. -egrep不需要加脱义或者grep-E
  677. -egrep'o+o'passwd+表示1次或者一次以上出现前面的字符,即+号前面出现一次o或者多次o
  678. ```
  679. [root@aminglinux-01grep]#egrep'o+o'passwd
  680. root:x:0:0:root:/root:/bin/bash
  681. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  682. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  683. operator:x:11:0:operator:/root:/sbin/nologin
  684. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  685. user5:x:1007:1007::/hoooome/user5:/bin/bash
  686. user6:x:1008:1010::/hooome/user6:/bin/bash
  687. [root@aminglinux-01grep]#
  688. ```
  689. -egrep'o+b'passwd表示+前面可以出现o一次以上egrep'o+t'passwd
  690. ```
  691. [root@aminglinux-01grep]#egrep'o+b'passwd
  692. nobody:x:99:99:Nobody:/:/sbin/nologin
  693. [root@aminglinux-01grep]#
  694.  
  695. [root@aminglinux-01grep]#egrep'o+t'passwd
  696. root:x:0:0:root:/root:/bin/bash
  697. operator:x:11:0:operator:/root:/sbin/nologin
  698. [root@aminglinux-01grep]#
  699.  
  700. ```
  701. -egrep'o?t'passwd?表示0次或者1次出现前面的字符这里是0次或者1次出现o
  702. ```
  703. [root@aminglinux-01grep]#egrep'o?t'passwd
  704. root:x:0:0:root:/root:/bin/bash
  705. shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  706. halt:x:7:0:halt:/sbin:/sbin/halt
  707. operator:x:11:0:operator:/root:/sbin/nologin
  708. ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
  709. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  710. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  711. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  712. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  713. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  714. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  715. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  716. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  717. [root@aminglinux-01grep]#
  718. ```
  719. -egrep'o?1o'passwd这个表示?前面出现0次或者1o
  720. -先编辑下文件vimpasswd
  721. ```
  722. [root@aminglinux-01grep]#vimpasswd
  723. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  724. operator:x:1o1:0:operator:/root:/sbin/nologin
  725. games:x:12:100:games:/usr/games:/sbin/nologin
  726. ftp:x:14:50:FTPUser:/var/ftp:/sbin/no1ologin
  727. [root@aminglinux-01grep]#vimpasswd
  728.  
  729. [root@aminglinux-01grep]#egrep'o?1o'passwd
  730. operator:x:1o1:0:operator:/root:/sbin/nologin
  731. ftp:x:14:50:FTPUser:/var/ftp:/sbin/no1ologin
  732. [root@aminglinux-01grep]#egrep'o?1o'passwd
  733. ```
  734.  
  735.  
  736. -grep-E'root|nologin'passwd|在这里表示或者的意思
  737. ```
  738. [root@aminglinux-01grep]#grep-E'root|nologin'passwd
  739. root:x:0:0:root:/root:/bin/bash
  740. bin:x:1:1:bin:/bin:/sbin/nologin
  741. adm:x:3:4:adm:/var/adm:/sbin/nologin
  742. lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  743. mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  744. operator:x:1o1:0:operator:/root:/sbin/nologin
  745. games:x:12:100:games:/usr/games:/sbin/nologin
  746. nobody:x:99:99:Nobody:/:/sbin/nologin
  747. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  748. systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin
  749. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  750. polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin
  751. tss:x:59:59:AccountusedbythetrouserspackagetosandBoxthetcsddaemon:/dev/null:/sbin/nologin
  752. postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  753. sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  754. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  755. user4:x:1006:1005::/home/aming111:/sbin/nologin
  756. saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin
  757. [root@aminglinux-01grep]#
  758. ```
  759. -grep-Ei'root|bus|997'passwd-E因为后面有符号|-i是不区分大小写
  760. ```
  761. [root@aminglinux-01grep]#grep-Ei'root|bus|997'passwd
  762. root:x:0:0:root:/root:/bin/bash
  763. operator:x:1o1:0:operator:/root:/sbin/nologin
  764. systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin
  765. dbus:x:81:81:Systemmessagebus:/:/sbin/nologin
  766. chrony:x:997:995::/var/lib/chrony:/sbin/nologin
  767. [root@aminglinux-01grep]#
  768. ```

猜你在找的正则表达式相关文章