Linux正则表达式基本使用

1.什么是正则表达式?

通过一组特殊的字符排列,用于,查找,替换,删除,一行和多行文字字符串。

2.通配符和特殊符号。

1.通配符

*        匹配0个到多个任意字符。

?        匹配一个任意字符。

[...]        匹配中括号中的一个字符。

[0-9]        匹配0~9直接的任意一个字符。

[^..]        匹配除了括号中的字符。

2特殊符号

#        注释符号。

\        转义字符。

|        管道字符。

;        连续命令执行分隔符。

~        家目录。

$        变量化符。

&        命令后台化符。

!        逻辑非。

:        路径分割符。

''        纯文本字符串。

""        具有变量替换功能的文本字符串。

()        字shell的起始和结束。

{}        命令块组合。

3.选取命令的使用。

1.命令:cut        将一段信息切出来。

如下命令:echo ${PATH}        输出如下内容;

echo ${PATH} 

如果我们要提取第1个‘ :’后的 字符串可以如下输入。

命令:echo ${PATH} | cut -d ':' -f 1

echo ${PATH} | cut -d ':' -f 1

 如果要提取第2,第3个“:”后的字符串可以如下输入。

命令:echo ${PATH} | cut -d ':' -f 2,3

echo ${PATH} | cut -d ':' -f 2,3

如果要截取第一个字符到第3个字符的字符串可以如下输入:

命令:echo ${PATH} | cut -c -3

echo ${PATH} | cut -c -3

 如果要截取第5个字符到最后一个字符可以如下输入:

命令:echo ${PATH} | cut -c 5-

echo ${PATH} | cut -c 5

如果要截取第6个字符到第10个字符可以如下输入:

命令:echo ${PATH} | cut -c 6-10

echo ${PATH} | cut -c 6-10

 

注意:cut命令只能截取同一行的内容。

2.命令:grep 的使用。

grep分析一行字符串中,如果有匹配成功的就直接输出这一行。

比如输出last 的root有关信息。

命令:last | grep "root"

last | grep "root"

 效果如下:

比如输出ip地址这一行的数据:

 命令如下:

命令:ifconfig | grep "inet 10"

ifconfig | grep "inet 10"

 如果只想显示ip地址可以如下输入:

命令:ifconfig | grep "inet 10" | cut -d ' ' -f 10

ifconfig | grep "inet 10" | cut -d ' ' -f 10 

 cut 出第10个空格后的数据。

3.排序命令的使用

命令:sort        将数据进行排序。

la 中的第一排数据进行排序如下:

命令:la | sort

la | sort 

以la中数据的第3个空格的数据进行排序如下:

命令:la | sort -t ' ' -k 3

la | sort -t ' ' -k 3 

4.字符串转换命令使用。

1.命令:tr        的使用。

将其中的一个字符删除或者替换。

比如:将变量PATH中的‘\’全部删除。

命令:echo ${PATH} | tr -d '/'

echo ${PATH} | tr -d '/'

 比如:将变量PATH中的 ‘:’全部替换成'\n'。

命令:echo ${PATH} | tr -s ':' '\n'

echo ${PATH} | tr -s ':' '\n'

 2.命令:col        将tab转换成空格。

命令:la | col

la | col

3.命令:paste        将两个文件的粘贴在一起。

命令:paste a b

la | col

5.划分命令

命令:split        对输出的结果进行划分成文件。

比如对命令:ls -a --color =auto 进行划分。

命令:la ; la | split ; ls ; cat xaa ;

la ; la | split ; ls ; cat xaa ;

可以看到,只划分了一个文件(xaa)

1.按大小划分

比如命令:la  | split -b 1b - listf

la  | split -b 1b - listf

 这里每1b划分成一个文件。

2.按行数分。

命令:la | split -l 3 - ghf

la | split -l 3 - ghf

这里每三行划分成一个文件。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值