设为首页 收藏本站
查看: 940|回复: 0

shell文件处理工具

[复制链接]

尚未签到

发表于 2018-8-25 11:55:30 | 显示全部楼层 |阅读模式
  vim /etc/resolve.conf 查看dns
  6.shell脚本命令
  1.diff
  diff        file file   比较两个文件的不同
  -c         显示周围的行
  -u          按照一格式统一输出生成补丁
  -r          比较两个目录中文件的不同
  pattch      file    file.path   打补丁
  -b              备份原文件
  2.grep
  grep    关键字符    文件|目录   在文件或目录中查找含有关键字的行
  grep    -i              忽略大小写
  -n              显示关键字所在行
  -c              显示过滤结果的行数
  -v              反向过滤
  -E      “关键字1|关键字2”    过滤多个关键字
  -r      目录        在目录中查找含有关键字的文件
  注意:^关键字   以关键字开头
  关键字$   以关键字结尾
  ^root 以root开头
  root$ 以root结尾
  3.cut
  cut 截取字符
  cut -d  分隔符  指定分隔符
  cut -f  1,7    显示指定的列
  cut -c      显示指定字符
  cut -d " " -f 10    截取空格后第十列到下一个分隔符空格之间的内容
  4.sort 排序
  sort
  -n  纯数字排序
  -u  去掉重复的
  |uniq -c去掉重复并统计重复个数
  -t  指定分隔符
  -k  指定列
  sort -t : -k 2 file -nu
  5.uniq
  sort file | uniq -c 去掉多余并统计重复次数
  -d 显示多余行
  -u 显示唯一的行
  6.tr
  tr 'a-z' 'A-Z' file
  sed 's/原字符/替换字符/g' file
  sed -e '策略1 ' -e '策略2 'file  多个策略用-e
  sed -i file 把转入后的文件输出到指定文件
  sed '3,5s/原字符/替换字符/' file
  sed xd 屏蔽指定行
  sed xp 复制指定行
  sed -n xp 只显示指定行
  脚本
  #!/bin/bash
  MAX=$( wc- l $1 | cut -d " " -f 1)
  for NUM in $( seq $MAX )
  do
  USERNAME=$(sed -n ${NUM}p$1)
  PASSWD=$(sed in ${NUM}p $2)
  useradd $USERNAME
  echo $PASSWD | passwd --stdin$USERNAMR
  done
  7.awk   数据处理工具,将一行分成数个段进行处理,以字段为最小的处理单位
  awk '条件类型1{动作1} 条件类型2{动作2}...' filename
  [root@taxing ~]# last -n 5
  kiosk    pts/0        :0               Wed Nov  9 19:46  still logged in
  kiosk    pts/0        :0              Wed Nov  9 18:57 - 19:46  (00:48)
  kiosk    :0           :0               Wed Nov  9 18:57  still logged in
  reboot   system boot  3.10.0-327.el7.x Thu Nov 10 02:56 -19:59  (-6:-57)
  kiosk    :0           :0               Wed Nov  9 17:55 - 17:55  (00:00)
  wtmp begins Wed Sep 28 00:38:05 2016
  [root@taxing ~]# last -n 5 | awk '{print $1 "\t" $3}'
  kiosk   :0
  kiosk   :0
  kiosk   :0
  reboot  boot
  kiosk   :0
  $0 代表一整行的数据
  内置变量
  NF 每一行($0)拥有的字段总数
  NR 目前awk处理的是第几行的数据
  FS 目前的分隔字符,默认是空格键
  [root@taxing ~]# last -n 5 | awk '{print $1 "lines:" NR "\tcolumes: "NF}'
  kiosklines:1     columes: 10
  kiosklines:2     columes: 10
  kiosklines:3     columes: 10
  rebootlines:4    columes: 11
  kiosklines:5     columes: 10
  lines:6  columes: 0
  wtmplines:7  columes: 7
  条件类型
  [root@taxing ~]# cat /etc/passwd | awk '{FS=":"} $3

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-556357-1-1.html 上篇帖子: shell笔记10 下篇帖子: SHELL中的变量和参数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表