Linux—-—字符管理命令

命令 : grep

功能 : 通过正则表达式查找文件中的关键字

参数 :
-i: 忽略大小写
-c: 打印匹配的行数
-C: 打印出匹配的上下文 ( 上 N 行 , 下 N 行 ) 的多少行
-l: 列出匹配的文件名
-L: 列出不匹配的文件名
-n :打印包含匹配项的行和行标

参数 :
-w: 仅匹配指定的单词而非关键字
-e: 索引匹配字串
-r: 递归查询
-v: 不输出匹配的行
-A < 行号 >: 显示所找的匹配字段,并显示下面指定的行
数的信息
-B < 行号 >: 显示所找的匹配字段,并显示上面指定的行
数的信息

示例 :
1. 递归且不区分大小写对 test 字段查找
#grep -ri “test” ./
2. 打印匹配” test” 关键字有多少行
#grep -c “test” grepcmd.txt
3. 打印匹配” test” 关键字的上下文各 1 行
#grep -C 1“test” grepcmd.txt
4. 打印匹配 test 关键的行并显示行号
#grep -n “test” grepcmd.txt

查找开头为” #” 的行,并显示行号
#grep -n ^# grepcmd.txt
2. 查找在本地目录下 ( 含子目录 ) 结尾为” c” 的文件
#grep -r c$ ./
3. 查找以” man” 开头的单词
#grep '\<man'* grepcmd.txt
4. 查找” man” 仅匹配此三个字符
#grep '\<man\>' grepcmd.txt

5. 查找含有以” D” 字符开头的行
#grep -n ^[D] grepcmd.txt
6. 查找含有以” A-F” 字符开头的行
#grep -r “^[A-F]” ./
7. 查找含有以” A-F” 字符开头 , 第 2 个字符为 i 的行
#grep “^[A-F]i” grepcmd.txt

8. 查找含有以 'nobody' 字符的行及下面 3 行信息
#grep -A 3 'nobody' /etc/passwd
9. 查找含有以 'nobody' 字符的行及上面 3 行信息
#grep -B 3 'nobody' /etc/passwd

 

 

命令 : egrep
信息 : grep 的增强版 / 扩充版 ( 即 grep -E)
特点 :
1. 支持 ? 匹配 , 即匹配 01 个正则表达式
2. 支持 + 匹配 , 即匹配 1 到 N 个正则表达式
3. 支持”或关系”的匹配
4. 在查找范围时,可直接用 {a,z}, 而不需要” \” 符号
5. 可以被 () 来包含正则表达式进行分组
6. 参数与 grep 基本通用

 

 

正则表达式

\ 忽略正则表达式中特殊字符的原有含义
^ 匹配正则表达式的开始行
$ 匹配正则表达式的结束行
\< 从匹配正则表达式的行开始
\> 到匹配正则表达式的行结束
[ ] 单个字符;如 [A] 即 A 符合要求
[ n - m ] 范围 ;如 [A-H] 即包含 A 至 H 都符合要求
. 所有的单个字符
* 所有字符,长度可以为 0

 命令 : cut

功能 : 对所需字符进行截取
-d “n”: 定义分界符 , 即点位 -f n: 取第几位的字符

1. 以空格符为分界符 , 进行第 2 位截取 .
#cut -d “ “ -f 2 ./cutcmd.txt
2. 以空格符为分界符 , 进行第 1,3 位截取 .
#cut -d “ “ -f 1,3 ./cutcmd.txt

命令 :sed

功能 : 通过指定的正则表达式完成指定关键字的过滤、截
取、修改等操作
语法格式 :
sed ‘command’ filename(s)

sed可以在不打开文件的情况下修改文件内容 , 但是
在不用重定向至文件之前,是不会改变文件现有内容。

以避免修改文件时出现问题 , 如果需要改变文件生效使用  sed -i ‘command’ filename(s)

 

1.sed 通过定址 ( 指定行或者关键字等 ) 来判断哪一行
是用户所希望编辑的字段。
2. 定址可以通过数字、正则表达式或者二者相结合的
方式来进行
3. 如果没有定址,则 sed 将处理输入文件的所有行


 

sed 之动作命令

r file   从 file 中读取行

g 获得内存缓冲区内容

n   从 file 中读取行

-e command    允许多点编辑

w  把行写入一个文件

-i  (使操作生效)

  

命令 :awk

功能 : 通过正则表达式 , 得到需要的行 , 列信息

查看 df -h 命令的第 2 列
  #df -h | awk '{print $2}'
print代表列
显示 install.log 的第四行 $awk 'NR==4' install.log
NR代表行

如果在行或者列前边加字符 格式 :#df -h | awk '{print “此处是字符” $2 “此处是后面的字符”}'

  1. 在有 noarch 字段的行前增加记录号 ($0 为行头前 ) $awk ‘/noarch/{print NR, $0}’ install.log
 
 

 

命令 :sort

 

功能 : 默认以排序 ASCII 方式进行排序 [a-z]

 

-u    去除重复的行

-r    降序排序 [z-a]

-n    数值排序 , 默认情况 10 比 2 小 , 主要因为

sort 判断第一字符的值 -k 以文本的列进行判断 -t 设定分界符



示例 :

  1. 对 /etc/passwd 文件进行升序排序 #sort /etc/passwd
  1. 对 /etc/passwd 文件进行降序排序 #sort -r /etc/passwd
  1. 对 /etc/passwd 第 3 列进行数值排序 , 分界符为 : #sort -n -k 3 -t : /etc/passwd

 

命令 :wc

功能 : 统计行数、字数、字符数、文件总统计数

1.    统计 /etc/passwd 文件行数 #wc -l /etc/passwd

2.    统计 /etc/passwd 文件的字数 #wc -w /etc/passwd

3.    统计 /etc/passwd 文件的字节数 #wc -c /etc/passwd
4.    统计 /etc/passwd 文件行数和字节数 #wc -lc /etc/passwd
5.    统计 /etc/passwd 与 /etc/fstab 各文件的行、字、字节数
        #wc -lwc /etc/passwd /etc/fstab
    

 

命令 : xargs

 功能 : 给命令传递参数的一个过滤器,也是组合多个命令的一个工具

  1. 让不支持管道的命令实现管道支持

    #find / -type f | xargs file

 

转载于:https://www.cnblogs.com/wpt2018/p/8376533.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值