字符管理

字符管理

一、grep

​ 功能:配合正则表达式匹配文件中关键字所在的行

1、在当前目录下递归查找带有root关键字的文件

​ grep -r “root” ./

​ -r 递归

2、在passwd文件中查找带有root关键字所在的行并显示行号

​ grep -n “root” passwd

​ -n 显示行号

3、在passwd文件中统计带有root关键字所在行的总数

​ grep -c “root” passwd

​ -c 统计行号

4、在passwd文件中忽略大小写查找root关键字所在的行

​ grep -i “root” passwd

​ -i 忽略大小写

5、在passwd文件中匹配以root开头的行

​ grep “^root” passwd

6、在passwd文件中匹配以bash结尾的行

​ grep “bash$” passwd

7、在f1文件中匹配以te开头的单词

​ grep “\<te” f1

8、在f1文件中匹配以st结尾的单词

​ grep “st\>” f1

9、在f1文件中匹配test单词

​ grep “\<test\>” f1

10、在passwd文件中匹配以a-c关键字开头的行

​ grep “[a-c]” passwd

注:*代表通配符。可以匹配所有字符。

二、egrep

​ 功能:同grep功能一致,是grep的增强版,可以同时匹配多个正则表达式

1、匹配前边的正则表达式0次或1次

egrep “^root?” f1

2、匹配前边的正则表达式1次或多次

egrep “^root+” f1

3、使用grep匹配多个正则表达式

​ 在passwd文件中匹配以root开头的行和以bash结尾的行

​ grep -e “^root” -e “bash$” passwd

三、cut

​ 功能:截取指定列

1、在passwd文件中截取第2列

cut -d “:” -f 2 passwd

-d ----》指定分隔符

-f ----》指定列

四、sed

​ 功能:对原文件进行删除和替换,并可以抓取关键字所在的行

1、对原文件进行删除

注:有参数i是真正删除;没有参数i,显示删除后的结果,没有真正删除

1)删除某文件中第x行到第y行

​ sed -i ‘x,yd’ 文件名

例:删除passwd文件中第1行到第3行

​ sed -i ‘1,3d’ passwd

2)删除某文件中第x行

​ sed -i ‘xd’ 文件名

例:删除passwd文件中第10行

​ sed -i ‘10d’ passwd

3)删除某文件中的第x行及后边的所有行

sed -i ‘x,$d’ 文件名

例: 删除passwd文件中第10行及后边的所有行

​ sed -i ‘10,$d’ passwd

4)删除某文件中关键字所在的行

sed -i ‘/关键字/d’ 文件名

例:删除passwd文件中ftp关键字所在的行

sed -i ‘/ftp/d’ passwd

2、对原文件的内容进行替换

1)将某文件中的旧的内容替换成新的内容

​ sed -i ‘s/旧的内容/新的内容/g’ 文件名

例:将passwd文件中的adm替换成ADM

​ sed -i ‘s/adm/ADM/g’ passwd

3、多点编辑

1、将某文件中的第x行删除,并将旧的内容替换成新的内容

​ sed -i -e ‘xd’ -e ‘s/旧的内容/新的内容/g’ passwd

例: 将passwd文件中的第10行删除,并将ADM替换成adm

​ sed -i -e ‘10d’ -e ‘s/ADM/adm/g’ passwd

​ -e —》多点编辑,可以同时执行多个动作

4、抓取某文件中关键字所在的行

sed -n ‘/关键字/p’ 文件名

例:抓取passwd文件中ftp关键字所在的行

sed -n ‘/ftp/p’ passwd

五、awk

1、抓取某文件中关键字所在的行

​ awk ‘/关键字/’ 文件名

例:抓取passwd文件中root关键字所在的行

​ awk ‘/root/’ passwd

2、抓取df -h输出结果中sda1关键字所在的行并显示行号

​ df -h | awk ‘/sda1/ {print NR,$0}’

3、抓取df -h输出结果中的第2行

​ df -h | awk ‘NR==2’

4、抓取df -h输出结果中的第x列

​ df -h | awk ‘{print $x}’

5、抓取df -h输出结果中的第2列和第3列

​ df -h | awk ‘{print $2,$3}’

6、抓取df -h输出结果中第x列包含关键字所在的行

​ df -h | awk ‘$x ~/关键字/’

例:df -h | awk ‘$1 ~/sda1/’

7、抓取df -h输出结果中第1列不包含关键字sda1所在行的其他行

​ df -h | awk ‘$1 !~/sda1/’

8、抓取df -h输出结果中包含关键字sda2所在行的第2列

​ df -h | awk ‘/sda2/ {print $2}’

9、以:为分隔符抓取passwd文件中的第2列

​ awk -F “:” ‘{print $2}’ passwd

注:awk不指定分隔符的时候,默认以空格为分隔符抓取指定列。

六、sort

功能:对列进行排序,默认以升序排序

格式:sort -t “分隔符” -k 排序的列

​ -r 逆序排序

​ -n 对数值进行排序

例:对passwd文件中的第2列进行逆序排序

​ sort -t “:” -k 2 -r -n passwd

​ 对passwd文件中的第1列进行升序排序

​ sort -t “:” -k 1 passwd -------》由于第一列是数值所以不需要指定n参数

七、wc

功能:统计

1、 统计某文件中总计多少行

​ wc -l 文件名

例:统计passwd文件中总计多少行

​ wc -l passwd

2、统计某文件中总计多少个单词

​ wc -w 文件名

例: 统计passwd文件中总计多少个单词

​ wc -w passwd

3、统计某文件中总计多少个字节

​ wc -c 文件名

例:统计passwd文件中总计多少个字节

​ wc -c passwd

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值