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

正则表达式的使用精集

发布时间:2020-12-14 01:15:23 所属栏目:百科 来源:网络整理
导读:#过滤所有目录 [root@localhosttmp]#ldd/usr/bin/vimlinux-vdso.so.1=(0x00007fffedffd000)libncurses.so.5=/usr/lib64/libncurses.so.5(0x00000031b5200000)libselinux.so.1=/lib64/libselinux.so.1(0x00000031b3e00000)libacl.so.1=/lib64/libacl.so.1(0x0
#过滤所有目录
[root@localhosttmp]#ldd/usr/bin/vim
	linux-vdso.so.1=>(0x00007fffedffd000)
	libncurses.so.5=>/usr/lib64/libncurses.so.5(0x00000031b5200000)
	libselinux.so.1=>/lib64/libselinux.so.1(0x00000031b3e00000)
	libacl.so.1=>/lib64/libacl.so.1(0x00000031b4e00000)
	libgpm.so.1=>/usr/lib64/libgpm.so.1(0x00000031b4600000)
	libperl.so=>/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so(0x00000031b5600000)
	libresolv.so.2=>/lib64/libresolv.so.2(0x00000031b6200000)
	libutil.so.1=>/lib64/libutil.so.1(0x00000031b5a00000)
	libc.so.6=>/lib64/libc.so.6(0x00000031b2a00000)
	libm.so.6=>/lib64/libm.so.6(0x00000031b3600000)
	libdl.so.2=>/lib64/libdl.so.2(0x00000031b2e00000)
	libpthread.so.0=>/lib64/libpthread.so.0(0x00000031b3200000)
	libsepol.so.1=>/lib64/libsepol.so.1(0x00000031b4200000)
	/lib64/ld-linux-x86-64.so.2(0x00000031b2600000)
	libattr.so.1=>/lib64/libattr.so.1(0x00000031b3a00000)
	libnsl.so.1=>/lib64/libnsl.so.1(0x00000031b7200000)
	libcrypt.so.1=>/lib64/libcrypt.so.1(0x00000031b4a00000)
[root@localhosttmp]#ldd/usr/bin/vim|grep-o"/[^[:space:]]{1,}"
/usr/lib64/libncurses.so.5
/lib64/libselinux.so.1
/lib64/libacl.so.1
/usr/lib64/libgpm.so.1
/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/CORE/libperl.so
/lib64/libresolv.so.2
/lib64/libutil.so.1
/lib64/libc.so.6
/lib64/libm.so.6
/lib64/libdl.so.2
/lib64/libpthread.so.0
/lib64/libsepol.so.1
/lib64/ld-linux-x86-64.so.2
/lib64/libattr.so.1
/lib64/libnsl.so.1
/lib64/libcrypt.so.1
[root@localhosttmp]#whichls
aliasls='ls--color=tty'
	/bin/ls
[root@localhosttmp]#whichls|grep-o"/[^[:space:]]{1,}"
/bin/ls

截取文件的父目录

[root@localhosttmp]#exportDPATH=/usr/local/file/name/test.file
[root@localhosttmp]#echo${DPATH%/*}
/usr/local/file/name

截取目录路径中的文件名

[root@localhosttmp]#echo${DPATH##*/}
test.file

使用sed命令的N、n、P、p

[root@localhosttmp]#seq5|sed-n'N;P'
1
3
#N追加下一行到模式空间,模式空间内容为1n2,P显示模式空间中的第一行内容,以上是打印1到5的基数数
[root@localhosttmp]#seq5|sed-n'n;P'
2
4
#n为读取下一行覆盖模式空间内容
[root@localhosttmp]#seq5|sed-n'$!N;P'
1
3
5
[root@localhosttmp]#
#1到5为5行,N每次匹配2行,到第5行的时候不能发现第6行,故不处理第5行内容,$!N是强制使用结尾行。

使用sed查找以abc结尾的行并且以bcd开始的行

[root@localhosttmp]#cattest
sdlfjsldfabc
bcdksdlfjlksdfl
abcdksdlfjlksdfl
babcdksdlfjlksdfl
[root@localhosttmp]#sed-n'N;/abc&;n&;bcd/p'test
sdlfjsldfabc
bcdksdlfjlksdfl
#N读取两行到模式空间,&;锚定词尾n换行符&;锚定词首//p固定模式使用
[root@localhosttmp]#sed-n'N;/dfl&;n&;bab/p'test
abcdksdlfjlksdfl
babcdksdlfjlksdfl

使用sed命令查找替换到自己想要的结果一:

[root@localhosttmp]#cattest
333.xx223x.uuu.com
[root@localhosttmp]#sed-r's/([[:alnum:]]+).([[:lower:]]+)[[:alnum:]]*.*/21/'test
xx333

使用sed命令查找替换到自己想要的结果二:

[root@localhosttmp]#cattest
123.abc456defg.uuu.com
[root@localhosttmp]#sed-r's/([[:alnum:]]+).([[:lower:]]+)[[:digit:]]+([[:lower:]]+).*/231/'test
abcdefg123

(编辑:李大同)

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

    推荐文章
      热点阅读