范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

shell基础应用(五)

  一,正则表达式
  w匹配数字、字母、下划线
  egrep "roow" user //找roo后面是数字、字母、下划线的字符串
  s 匹配空格、tab键
  egrep "roos" user //找roo后面是1个空格或者tab键打出来的空格的字符串,如果没有
  就不输出
  二,sed其他指令
  a行下追加 i行上添加 c替换整行
  sed "a 666" user //所有行的下面追加666
  sed "1a 666" user //第1行的下面追加666
  sed "/^bin/a 666" user //在以bin开头的行的下面追加666
  sed "i 666" user //所有行的上面添加666
  sed "5i 666" user //第5行的上面添加666
  sed "$i 666" user //最后1行的上面添加666
  sed "c 666" user //所有行都替换成666
  sed "1c 666" user //替换第1行为666
  ---------------------------------------------------------
  三,awk
  可以实现精确搜索并输出 ,逐行处理
  1,前置指令 | awk 选项 条件 指令
  2,awk 选项 条件 指令 被处理文档
  选项 -F 定义分隔符
  指令 print
  条件 /字符串/
  内置变量 $1第一列 $2第二列 $3第三列 ...
  $0 所有列 NR行号 NF 列号
  [root@proxy opt]# cat abc.txt //准备素材
  hello the world
  welcome to beijing
  awk "{print}" abc.txt //输出所有
  awk "/to/{print}" abc.txt //输出有to的那行
  awk "{print $2}" abc.txt //输出所有行的第2列
  awk "/to/{print $1}" abc.txt //输出有to的那行的第1列
  awk "{print $0}" abc.txt //输出所有行所有列
  awk "{print $0,$1}" abc.txt //输出所有行所有列和第1列
  awk "{print NR}" abc.txt //输出所有行的行号
  awk "{print NR,$0}" abc.txt //输出所有行的行号,所有列
  awk "{print NR,NF}" abc.txt //输出所有行的行号,列号(有几列)
  awk "/^bin/{print NR}" user //找以bin开头的行,显示该行的行号
  awk "/^bin/{print NR,$0}" user //找以bin开头的行,显示该行的
  行号,所有列
  awk "{print NF}" user //输出所有行的列号(每行有几列)
  awk -F: "{print $1}" user //文档中如果没有空格,可以用F修改分
  隔符
  awk -F: "{print $1,$6}" user //使用冒号作为列的分隔符,显示
  第1、6列
  awk -F: "{print $1" 的家目录是 "$6}" user //还可以输出常量,加
  双引号即可
  awk -F: "{print $1" 的解释器是 "$7}" user
  收集根分区剩余容量
  df -h | awk "//$/{print $4}" //使用df -h 作为前置指令交给awk处理
  找到以/结尾的行,并输出第4列
  df -h | awk "//$/{print "根分区剩余容量是"$4}" //然后加常量输出
  收集网卡流量信息
  ifconfig eth0 | awk "/RX p/{print "eth0网卡接收的数量量是"$5}"
  ifconfig eth0 | awk "/TX p/{print "eth0网卡发送的数量量是"$5}"
  ------------------------------------------------------------
  四,awk的条件
  1,/字符串/ 还可以使用正则 ~ 包含 !~不包含
  awk -F: "$6~/root/{print}" user //输出第6列包含root的行
  awk -F: "$6~/bin/{print}" user //输出第6列包含bin的行
  awk -F: "$6!~/bin/{print}" user //输出第6列不包含bin的行
  2,使用数字或者字符串
  == != > >= < <=
  awk -F: "$3<3{print}" user //输出第3列小于3的行
  awk -F: "$3<=3{print}" user //输出第3列小于等于3的行
  awk -F: "NR==2{print}" user //输出第2行
  awk -F: "NR>2{print}" user //输出行号大于2的行
  3,逻辑组合 &&并且 ||或者
  awk -F: "NR==2||NR==4{print}" user //找行号是2或者4的行
  awk -F: "NR==2||NR==40{print}" user //如果只有一个条件满足就显示一个
  awk -F: "$7~/bash/&&$3<=500{print}" user //找第7列包含bash并且第3列
  小于等于500的行
  awk "NR==2&&NR==4{print}" user //找行号既是2又是4的行,不存在,无输出
  awk -F: "$7~/bash/&&NR<=3{print}" user //找第7列包含bash并且行号是1~3的
  awk -F: "$7~/bash/||NR<=3{print}" user //找第7列包含bash或者行号是1~3的
  awk -F: "$1~/root/" user //找第1列包含root的行
  如果有用户叫root6,也会搜到,比较宽松的搜索方式,如果
  任务就是{print}的话可以省略不写
  awk -F: "$1=="root"" user //找第1列完全等于root的行
  多一个字符少一个字符都不行,比较严格的搜索方式
  4,运算
  awk "NR%2==0{print NR,$0}" user //在条件中使用运算
  ,找到将行号除以2余数等于0的行,然后输出该行的
  行号和所有列,相当于输出偶数行
  -----------------------------------------------------
  五,awk处理时机,可以执行额外任务
  BEGIN任务 执行1次,读取文档之前执行
  逐行任务 执行n次,读取文档时执行
  END任务 执行1次,读取文档之后执行
  BEGIN{ 任务1 }{ 任务2 }END{ 任务3 }
  awk -F: "BEGIN{print "ok"}{print $1}END{print "ok"}" user
  awk "BEGIN{print NR}{print NR}END{print NR}" user
  利用awk处理时机,输出下列内容
  awk "BEGIN{print "User	UID	Home"}" //第1步输出表头信息
  awk -F: "{print $1"	"$3"	"$6}" user //第2步输出内容
  awk "END{print "总计"NR"行" }" user //第3步输出结尾
  awk -F: "BEGIN{print "User	UID	Home"}{print $1"	"$3"	"$6}END{print "总计"NR"行"}" user //合在一起写
  ---------------------------------------------------------------------------
  使用awk统计网站访问量
  setenforce 0 //关闭selinux
  systemctl stop firewalld //关闭防火墙
  systemctl restart httpd //开启网站服务
  使用浏览器多访问几次网站,包括本机用curl
  curl 192.168.4.7:82 //如果端口没改过就不用敲
  awk "{print $1}" /var/log/httpd/access_log //初步统计,不完美
  六,使用awk数组+for循环实现高级搜索
  数组 相当于可以存储多个值的特殊变量
  数组名[下标]=下标对应的值
  awk "BEGIN{a[1]=10;a[2]=20;print a[2],a[1]}" //使用awk测试数组,首先
  创建数组a,下标1对应值是10,下标2对应值是20,然后输出下标是2与
  下标是1的值
  awk "BEGIN{a["abc"]="abcabc";a["xyz"]="xyzxyz";print a["xyz"]}" //数组的下标
  和值都可以不是数字,测试时加双引号即可
  以上信息是手工输入,实际情况中通常是从文档收集
  准备一个文档,里面有6行,每行分别是abc、xyz、abc、opq、xyz、abc 然后
  按照awk逐行处理的工作特点使用awk "{a[$1]++}" shu.txt 走完每一行得到下列结果
  但不会输出到屏幕
  a[$1]++ a[abc]++ a[abc]=1
  a[$1]++ a[xyz]++ a[xyz]=1
  a[$1]++ a[abc]++ a[abc]=2
  a[$1]++ a[opq]++ a[opq]=1
  a[$1]++ a[xyz]++ a[xyz]=2
  a[$1]++ a[abc]++ a[abc]=3
  如果要输出到屏幕可以使用命令awk "{a[$1]++}END{print a[abc]}" shu.txt
  ----------------------
  根据上述操作得知使用数组可以收集信息,但收集完了之后查看确不方便,可以用for循环实现。方法如下:
  for(变量名 in 数组名){print 变量名} //这个格式可以查看数组的所有下标
  awk "{a[$1]++}END{for(i in a){print i,a[i]}}" shu.txt //使用逐行任务与数组
  收集文档shu.txt中的信息,然后在END任务中使用for循环显示所有
  数组a的下标与值
  awk "{ip[$1]++}END{for(i in ip){print i,ip[i]}}" /var/log/httpd/ac
  cess_log //将上述的文件替换成网站的日志,就可以
  最终用来查看日志得到可以得到哪个ip来访以及来访的次数
  awk "{ip[$1]++}END{for(i in ip){print i,ip[i]}}" /var/log/httpd/ac
  cess_log | sort -nr -k 2 //使用sort命令增加排序
  功能,-n是以数字形式排序,-r是降序, -k是指定为
  第几列排序
  ----------------------------------------------------------------------------
  /var/log/secure是安全日志,如果有人登陆时输入错误密码的话
  信息会记录下来,这种信息可以用awk抓取出来,方法如下:
  awk "/Failed password for root/{ip[$11]++}END{for(i in ip){print i,ip[i]}}"
  /var/log/secure //统计安全日志中访问root账户密码输入错误
  的ip地址与次数
  -----------------------------------------------------------------------------
  编写脚本,可以查看系统的各种参数信息
  #!/bin/bash
  while :
  do
  clear
  free -h | awk "/^Mem:/{print "剩余内存容量是"$4}"
  df -h | awk "//$/{print "根分区剩余容量是"$4}"
  awk "END{print "用户总数是"NR"个"}" /etc/passwd
  who | awk "END{print "登录用户数量是"NR"个"}"
  uptime | awk "{print "cpu的15分钟平均负载是"$NF}"
  rpm -qa | awk "END{print "安装的软件包数量是"NR"个"}"
  sleep 3
  done

AirPodsPro新品曝光,AirPods2为前辈让路跌至白菜价据macrumors报道,苹果最近发布了AirPodsPro和AirPodsMax的固件更新,版本号为4A400。更新中扩展了更多查找查找功能。值得一提的是,由于AirPods3新2021诺贝尔化学奖mRNA陪跑,给了这个或将改变制药和电池的研究马斯克口中的医学的未来mRNA(信使核糖核酸),在今天下午的诺贝尔化学奖争夺战中落败。感到遗憾的,不止马斯克及其他mRNA的拥趸,还有我提前准备好的mRNA稿件。mRNA在新冠疫苗2021诺贝尔物理学奖揭晓,证明全球变暖和你有关的气象学家获奖了从2016年开始,诺贝尔物理学奖的奖杯就由三位物理学家共同举起,今年也不例外。10月5日,诺贝尔物理学奖因复杂系统的研究成果而共同授予日本气象学家真锅淑郎(SyukuroManab天目Tech2021年诺贝尔物理学奖揭晓,一半授予了气象学家北京时间17时45分,2021年诺贝尔物理学奖揭晓,聚焦复杂系统。奖项一半授予美国普林斯顿大学高级气象学家真锅淑郎(SyukuroManabe)和德国汉堡马克斯普朗克气象研究所教授宁德时代(300750)被拥上王座的霸王龙01脱胎换骨开创一个新时代2018年6月11日,一个普普通通的日子不太热闹的现场,没有横幅和喧嚣咚一声,清亮的钟声由近及远,余音回荡于会场每一个角落这一天,是宁德时代上市的日子几位送iQOOZ5给老弟作为生日礼物合不合适?合适。看他的性格了,如果比较简约风格,性格沉稳用z5不错,电池大,玩游戏性能也稳定。如果是那种活泼贪玩的比较推荐上半年出的红米note10pro,因为小米红米手机可玩性比较高。而且三星2021发布新款MicroSD卡,容量更大,速度更快,更稳定?三星半导体技术是非常优秀的,三星在电脑端的内存条和手机里的运行内存都是业界领先,储存产品也很齐全并更新多代了,包括固态硬盘和储存卡,前不久三星更新了储存卡的产品,今天就来聊一聊三星网友买到后封iPhone12Pro,评论啥眼神,仅从电池都能看出来现在不仅iPhone13系列有后封机,其他老款iPhone后封机更是数不胜数!比如网友在某宝买了一台iPhone12Pro,号称是全新激活未使用。其实这类iPhone就是二手机,大我国的芯片落后,但我国有哪些技术领先或处于垄断地位?首先我国的芯片技术并没有大家想象的那么不堪一击,比如我国台湾的台积电也是世界芯片巨头之一嘛!抛开台积电是台湾的不说,就算只计算大陆的,华为的海思芯片在全球也有一定的地位的。比如在2剪一部电影,需要把整部电影下载吗?会觉得很麻烦有其他方法吗?必须下载。要剪好,首先要把握电影的主题思想是什么。特别一些名导演的片子,如冯小刚张艺谋等人的片子,一定会有一个深刻的主题在里面。根据这个主题去选音乐。一切画面,打打杀杀也好,风花雪你的单反镜头哪一支基本处于吃灰状态?为什么?351。4。因为经常拍人像,有个时候会拍摄室内,不得已,得有一只351。4。可惜,平时用得不多,感觉这个镜头比较鸡肋,不太好用,包括在室内。表现在构图不好整,近了吧,人物主体畸形,
智能制造要紧跟新技术,并从MES系统应用中学习经验制造业是一个国家的根基,在一系列的贸易摩擦,政府制裁,关键技术掣肘后,这一认识更加深入人心。中国是世界工厂,制造业品类众多且产业链完备,并且凭借多年的积累与不断创新,中国也出现了一分分钟搞清楚后台权限管理说到管理权限,最常见的当属RBAC(RolebasedAccessControl),基于角色的权限管理。说白了就是给每个用户分配一个角色,比如站长,局长,处长,然后给每个页面指定权关灯工厂为何能724h稳定运转?触控一体机需做到这几点!伴随我国工业转型进度的不断推进,以智能制造为核心的战略计划正不断落地实施,越来越多的制造企业逐步加入工业数字化自动化智能化的大军。国内像比亚迪格力海尔富士康等龙头实体制造企业,已经国内核酸检测力度加强,工业安卓一体机以这种方式来帮忙!新冠疫情爆发以来,发展至今已经历经好几个阶段。从武汉爆发封锁,国内发布居家禁令,到逐步复工复产,到国外疫情爆发,境外输入严峻,再到无症状感染人数上升,一系列的发展让新冠确认为全球大工厂人员考勤来访管理等难题,一台人脸识别一体机就可搞定伴随我国制造业的不断发展,中国制造品类成为全球人们正常生活基础保障,这也使得国内制造企业的队伍在不断壮大和充实。而工厂规模不断扩大人员不断增加,也为企业带来不少难题,如何做好工厂出值得被吹爆的大兴机场,正引领全新DIY值机方式普及要说去年的热点话题新闻,大兴机场必定位列其中。自去年于正式通航后,集结众多先进黑科技的北京大兴国际机场,成为北京的新晋地标建筑,亦晋升为国际重要机场枢纽代表之一。与之而来的是,铺天触想拍了拍你三伏天如何消暑?工业一体机有降温方式7月16日至8月24日2020年正式入伏了一年一度的三伏天全年中最热的时节!!!值得注意的是今年三伏天开启40天加长版模式全民高温对抗大作战你准备好了嘛为此触想君搜罗了9条注意事项价值定位品类逻辑贾老板的功夫菜让我们思考什么?01hr贾国龙功夫菜中高端的新零售逻辑去年10月,西贝新品牌贾国龙功夫菜在北京开出首店,该店前身是西贝酸奶屋。截止到今年3月底,贾国龙功夫菜在西贝全国200多家门店设立了档口,定位前端页面css设计方案过了个国庆,比上班还要累还要紧张。今天是国庆后的第一个小周末,真是倍儿感轻松,终于有时间把我的最新研究成果公布了。大家知道,做前端都绕不开跟css打交道。往大了说要布局,往小了说要白话字符集的基础知识计算机是歪果仁发明的,人家只有26个拉丁字母,az。加上大小写和其它标点了什么的,也就几十个。要存进数据库就要考虑留下多大的空间。计算机的语言世界里只有0和1,也就是所谓的二进制,知识小课堂嵌入式安卓工业触摸一体机有哪些注意事项和使用优势随着市场需求的不断上涨,工业触摸一体机的使用场景不仅在自动化设备制造业电力等工业领域得到广泛运用,同时在电信多媒体国防交通医疗等各个领域的应用也逐渐拓展。因其具有便捷人机界面的优势