linux 文本处理


1.文本处理-echo



echo -e "\033[40;35m...."


背景颜色范围:40--49
40:黑    41:深红   42:绿
43:黄色  44:蓝色   45:紫色
46:深绿  47:百色


字体颜色范围:30-39
30:黑     31:红     32:绿
33:黄     34:蓝色   35:紫色
36:深绿   37:百色


eg:
   echo -e "\033[40;35mhello word\033[0m" 


2.文本处理-sort


sort [选项] 输入文件


-o 输出文件
-d 按字典顺序排序
-n 按数字大小输出
-r 按逆序输出排序结果
-k 指定分类是域上得数子分类
-t 域分隔符;用非空格或tab键分隔域


eg:
  sort -k3 -n -r -t: /etc/passwd|more


3.文本处理-diff


diff[选项] 文件/目录 文件/目录


diff /etc/passwd /etc/passwd.bak


-q 仅显示有无差异,不显示详细的信息
-c 显示全部内文,并标出不同之处
-b 不检查空格字符的不同
-B 不检查空白行
-r 比较子目录中的文件


4.grep 选项


-n 在每行前显示编号


应用实例


a.设置大小写
#grep '[Tt]his' file1.txt


b.不匹配行首
#grep '^[^#]' file.txt //找出不是以#开头的字符字符串


c.匹配任意字符
#grep "s...n" file3.txt


s123n true
s34n false 


注意:三个点三个字符


d.-v


grep -v "hello" file




搜索不含有"hello" 字符串的行


5.sed操作动作


s  替代操作
i  插入命令
a  附加命令
d  删除全部匹配的行
D  删除全部匹配的行


eg:


#sed -n '1,4 p' /etc/passwd 打印/etc/passwd的1到4行


#sed '/80/D' file.txt 删除全部匹配80的行


#sed 's/var/usr/g' file.txt 所有var用usr替换


#sed '50,$s/help/man/g' file.txt所有help用man替换


#sed "3i\\chengyaogen" log   log文件的第三行前面插入chengyaogen


#sed "3a\\chengyaogen" log   log文件的第三行后面插入chengyaogen


#sed "3d"  log  删除log文件的第三行


6.awk格式


awk [选项] 'awk脚本' 输入文件


-F fs使用fs作为输入记录的字段分隔符
-f filename 从文件filename读取awk_script
-v var=value 为awk_script设置变量


awk的内置变量


变量        功能             默认


FS       输入字段分隔符     空格或tab
RS       输入记录分隔符     换行
OFS      输出字段分隔符     空格或tab
ORS      输出记录分隔符     换行
NF       当前记录非空字段的编号 $NF 最后一列
NR       从所有文件读入的记录号 $NR 对应的行号


应用实例




#awk -F : '{print NR,$1,$2}' /etc/passwd
输出/etc/passwd的第一列、第二列并显示对应的行号


#awk -F : '{print NR,$1,$NF}' /etc/passwd
输出/etc/passwd的第一列,最后一列并显示对应的行号


#awk -F : 'NR%10==5{print NR,$0}' /etc/passwd
输出行号对10 求余为5的一整行信息


#awk -F : 'NR==8,NR==13{print NR,$0}' /etc/passwd


输出行号[8,13]的行的信息


#awk -F : '{if($3>50){print $1}}' /etc/passwd


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值