linux sed命令使用一些小问题整理

Shell 正则(完全匹配),通配(部分匹配)
(正则和统配的特殊符号是不一样的)

find , ls , cp支持通配符,不支持 正则
grep awk sed可以支持正则,正则包含匹配


特殊字符用法

  • / 字符 转义 “\/”

linux sed命令使用一些小问题整理_第1张图片

  • \字符 转义 “\\\”

linux sed命令使用一些小问题整理_第2张图片

linux sed命令使用一些小问题整理_第3张图片

  • $ 字符 转义“\\(是匹配行尾)

linux sed命令使用一些小问题整理_第4张图片

linux sed命令使用一些小问题整理_第5张图片

  • 包含特殊字符 “/” 的字符串替换

linux sed命令使用一些小问题整理_第6张图片

linux sed命令使用一些小问题整理_第7张图片

  • 空格

匹配行首 1-8个空格

linux sed命令使用一些小问题整理_第8张图片

linux sed命令使用一些小问题整理_第9张图片

sed,grep等命令使用

  • 匹配空行

linux sed命令使用一些小问题整理_第10张图片

linux sed命令使用一些小问题整理_第11张图片

  • 提取字符

参考
http://blog.csdn.net/tp7309/article/details/51418412

$echo here365test | sed "s/.*re\([0-9]*\).*/\1/g"

$365

s表示替换,\1表示用第一个括号里面的内容替换整个字符串,sed支持*,不支持?、+,不能用\d之类,正则支持有限。


ls /boot/vmlinuz-4.4.0-31-generic | sed 's/.*vmlinuz-\([0-9\.]*\)-.*/\1/g'

linux sed命令使用一些小问题整理_第12张图片

你可能感兴趣的:(#,shell)