当前位置: 首页 > news >正文

外汇跟单网站建设小型网站设计及建设论文

外汇跟单网站建设,小型网站设计及建设论文,苏州企业宣传片制作公司,wordpress 查看用户密码目录 一、awk简介 二、awk工作原理 三、awk命令格式 四、awk命令的使用 1.print操作按行输出文本 2.print操作按字段截取输出文本 3.使用BEGIN和END指定操作 4.使用管道符号#xff0c;双引号调用shell命令 5.使用操作getline 6.使用操作OFS 7.配合数组使用 一、…目录 一、awk简介 二、awk工作原理 三、awk命令格式 四、awk命令的使用 1.print操作按行输出文本 2.print操作按字段截取输出文本 3.使用BEGIN和END指定操作 4.使用管道符号双引号调用shell命令 5.使用操作getline 6.使用操作OFS 7.配合数组使用 一、awk简介 awk是linux的一个强大的命令具备强大的文本格式化能力比如对一堆看起来没有什么规律的日志文件文本文件等通过awk命令格式化输出为专业的可以做为应用级数据分析的样式。 二、awk工作原理 逐行读取文本默认以空格或制表符为分隔符进行分隔将分隔所得的各个字段保存到内建变量中并按模式或者条件执行编辑命令。 sed命令常用于一整行的处理而awk比较倾向于将一行分成多个“字段”然后再进行处理。awk信息的读入也是逐行读取的执行结果可以通过print的功能将字段数据打印显示。 在使用awk命令的过程中可以使用逻辑操作符表示与、||表示或、!表示非还可以进行简单的数学运算如、-、*、/、%、^分别表示加、减、乘、除、取余和乘方 三、awk命令格式 awk [选项] 模式或条件 {操作表达式} 文件名... awk常用选项 选项作用-F后面跟符号指定列分隔符-v后面跟变量允许使用变量 awk常见内建变量 内建变量作用FS列分隔符指定每行文本的字段分隔符默认为空格和制表符。 与-F 选项作用相同OFS输出内容的列分隔符NF当前处理行的字段个数 $NF可以表示最后一行NR指定当前处理的行的行号$0当前处理的行的整行内容$n当前处理行的第n个字段RS行分隔符指定航分隔符默认是换行符\n 四、awk命令的使用 1.print操作按行输出文本 //1.输出所有内容 [rootlocalhost1 ~]#awk {print} numfile one two three four five six seven eight nine ten [rootlocalhost1 ~]#awk {print $0} numfile    #$0代表匹配到的整行 one two three four five six seven eight nine ten ​ //2.指定行输出1~3行内容 [rootlocalhost1 ~]#awk NR1,NR3 {print} numfile one two three [rootlocalhost1 ~]#awk (NR1)(NR3) {print} numfile one two three ​ //3.指定的几行输出第1、3行 [rootlocalhost1 ~]#awk NR1||NR3 {print} numfile one three ​ ​ //4.输出奇偶行 [rootlocalhost1 ~]#awk (NR%2)0 {print} numfile two four six eight ten [rootlocalhost1 ~]#awk (NR%2)1 {print} numfile one three five seven nine ​ //5.输出行号 [rootlocalhost1 ~]#awk {print NR,$0} file1 1 one two three 2 four five six 3 seven eight nine 4 ten eleven twelve ​ //6.指定第1行包含o的行。输出行号和内容 [rootlocalhost1 ~]#awk $1~o {print NR,$0} file1 1 one two three 2 four five six ​ //7.指定输出包含指定字符串的行 [rootlocalhost1 ~]#awk /root/ {print} /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin ​ //8.指定输出包含指定正则表达式的行 [rootlocalhost1 ~]#awk /^root.*bash$/ {print} /etc/passwd root:x:0:0:root:/root:/bin/bash 2.print操作按字段截取输出文本 //1.指定字段分隔符:输出每行1,3字段 [rootlocalhost1 ~]#awk -F : {print $1,$3} /etc/passwd root 0 bin 1 daemon 2 adm 3 lp 4 sync 5 shutdown 6 halt 7 mail 8 ... avahi 70 postfix 89 tcpdump 72 hx 1000 apache 48 zhangsan 1001 lisi 1002 zhaoliu 1003 wangwu 1004 qianqi 1005 zhuba 1006 ​ //2.在第1条基础上限定行范围第3个字段值小于1000的行输出每行1,3字段 [rootlocalhost1 ~]#awk -F : $31000 {print $1,$3} /etc/passwd nfsnobody 65534 zhangsan 1001 lisi 1002 zhaoliu 1003 wangwu 1004 qianqi 1005 zhuba 1006 ​ //3.指定最后一个字段包含sbin的行输出第1和最后一个字段 [rootlocalhost1 ~]#awk -F : $NF~sbin {print $1,$NF} /etc/passwd bin /sbin/nologin daemon /sbin/nologin adm /sbin/nologin lp /sbin/nologin shutdown /sbin/shutdown halt /sbin/halt mail /sbin/nologin operator /sbin/nologin games /sbin/nologin ... rpcuser /sbin/nologin nfsnobody /sbin/nologin gnome-initial-setup /sbin/nologin sshd /sbin/nologin avahi /sbin/nologin postfix /sbin/nologin tcpdump /sbin/nologin apache /sbin/nologin named /sbin/nologin dhcpd /sbin/nologin ​ //4.输出最后一个字段既不是/sbin/nologin也不是/bin/bash的行 [rootlocalhost1 ~]#awk -F : ($NF!/sbin/nologin)($NF!/bin/bash) {print $1,$NF} /etc/passwd sync /bin/sync shutdown /sbin/shutdown halt /sbin/halt 3.使用BEGIN和END指定操作 awk [选项] BEGIN {表达式}; [条件] {操作表达式}; END {表达式} 文件名... BEGIN {操作1} awk在读取文件之前执行的操作 [条件] {操作2} awk 逐行读取文件时执行的操作 END {操作3} awk在处理完文件所有行之后执行的操作 //1.输出结尾为nologin的行并为每行计数显示行号最后输出总行数 [rootlocalhost1 ~]#awk BEGIN {a0}; /nologin$/ {a; print a,$0}; END {print 共有a行} /\etc/passwd 1 bin:x:1:1:bin:/bin:/sbin/nologin 2 daemon:x:2:2:daemon:/sbin:/sbin/nologin 3 adm:x:3:4:adm:/var/adm:/sbin/nologin 4 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 5 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin ... 34 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 35 gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin 36 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 37 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin 38 postfix:x:89:89::/var/spool/postfix:/sbin/nologin 39 tcpdump:x:72:72::/:/sbin/nologin 40 apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin 41 named:x:25:25:Named:/var/named:/sbin/nologin 42 dhcpd:x:177:177:DHCP server:/:/sbin/nologin 共有42行 4.使用管道符号双引号调用shell命令 //1.输出以:分割的第1和3个字段 [rootlocalhost1 ~]#echo $PATH |awk BEGIN {FS:}; {print $1,$3} /usr/local/sbin /usr/sbin ​ //2.输出$PATH的每个文件 [rootlocalhost1 ~]#echo $PATH |awk BEGIN {RS:}; {print NR,$0} END {print 共有NR行} 1 /usr/local/sbin 2 /usr/local/bin 3 /usr/sbin 4 /usr/bin 5 /root/bin 共有5行 ​ //3.输出ens33网卡的ip和mac地址 [rootlocalhost1 ~]#ifconfig ens33 ens33: flags4163UP,BROADCAST,RUNNING,MULTICAST  mtu 1500inet 192.168.116.10  netmask 255.255.255.0  broadcast 192.168.116.255inet6 fe80::7791:1d06:d2da:af8e  prefixlen 64  scopeid 0x20linkether 00:0c:29:3b:4b:c3  txqueuelen 1000 (Ethernet)RX packets 19934  bytes 1547296 (1.4 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 8225  bytes 867536 (847.2 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 ​ [rootlocalhost1 ~]#ifconfig ens33 |awk NR2 {print $2} 192.168.116.10 ​ [rootlocalhost1 ~]#ifconfig ens33 |awk /ether/ {print $2} 00:0c:29:3b:4b:c3 ​ //4.内存占用多少MB [rootlocalhost1 ~]#free -mtotal        used        free      shared  buff/cache   available Mem:           1819         563         849          14         406        1080 Swap:          8191           0        8191 ​ [rootlocalhost1 ~]#free -m | awk NR2 {print $3} 563 [rootlocalhost1 ~]#free -m | awk /Mem/ {print $3} 563 ​ //5.内存占用率 [rootlocalhost1 ~]#free -mtotal        used        free      shared  buff/cache   available Mem:           1819         563         848          14         406        1080 Swap:          8191           0        8191 ​ [rootlocalhost1 ~]#free -m | awk /Mem/ {print ($4/$2*100)%} 46.619% [rootlocalhost1 ~]#free -m | awk /Mem/ {print int($4/$2*100)%} 46% ​ //6.CPU空闲率 [rootlocalhost1 ~]#top -b -n1 |awk -F , /Cpu/ {print $4} |awk {print $1%} 98.5% ​ //7.计算开机时间 [rootlocalhost1 ~]#date -d $(awk {print $1} /proc/uptime) second ago %Y%m%d %H:%M:%S 20220905 21:28:50 [rootlocalhost1 ~]#date -d -$(awk {print $1} /proc/uptime) second %Y%m%d %H:%M:%S 20220907 08:32:41 5.使用操作getline 当getline左右无重定向符“”或“|”时awk首先读取到了第一行就是1然后getline就得到了1下面的第二行就是2因为getline之后awk会改变对应的NFNRFNR和$0等内部变量所以此时的$0的值就不再是1而是2了然后将它打印出来。 当getline左右有重定向符“”或“|”时getline则作用于定向输入文件由于该文件是刚打开并没有被awk读入一行只是getline读入那么getline返回的是该文件的第一行而不是隔行。 //1.利用getline输出奇偶行 [rootlocalhost1 ~]#seq 10 |awk {getline;print $0} 2 4 6 8 10 [rootlocalhost1 ~]#seq 10 |awk {print $0;getline} 1 3 5 7 9 ​ //2.利用getline输出主机名 [rootlocalhost1 ~]#awk BEGIN {hostname |getline ;{print $0} } localhost1 ​ //3.利用getline读取w命令显示的行数统计出在线用户数减去前2个无关行 [rootlocalhost1 ~]#w14:56:47 up  6:24,  1 user,  load average: 0.00, 0.01, 0.05 USER     TTY      FROM             LOGIN   IDLE   JCPU   PCPU WHAT root     pts/0    192.168.116.1    14:17    7.00s  0.14s  0.02s w [rootlocalhost1 ~]#w |awk NR2 {print $0 | wc -l} 1 6.使用操作OFS //1.利用OFS输出第1和3个字段并用作为输出的分隔符 [rootlocalhost1 ~]#echo A B C D |awk {OFS:;print $1,$3} A:C ​ //2.利用OFS指定分割符输出整行内容时需要使用$1$1刷新整行内容 [rootlocalhost1 ~]#echo A B C D |awk {OFS:;$1$1;print $0} A:B:C:D 7.配合数组使用 //1.输出指定数组值 [rootlocalhost1 ~]#awk BEGIN {a[0]10;a[1]20;print a[1]} 20 [rootlocalhost1 ~]#awk BEGIN {a[0]10;a[1]20;print a[0]} 10 ​ //2.使用字符串作为数组索引输出指定数组值 [rootlocalhost1 ~]#awk BEGIN {a[abc]10;a[xyz]20;print a[abc]} 10 //数组值也可以为字符串 [rootlocalhost1 ~]#awk BEGIN {a[abc]aa;a[xyz]xx;print a[abc]} aa ​ //3.遍历数组 [rootlocalhost1 ~]#awk BEGIN {a[0]10;a[1]20;a[2]30; for(i in a) {print i,a[i]}}            0 10 1 20 2 30 利用数组做统计 awk 根据指定字段读取每行的字段内容使用字段内容作为数组的索引如果出现相同内容的行则用这个行内容做的数组的值自增1END{ for(i in arr) {print arr[i],i} awk 读取完所有行内容后使用for循环遍历这个数组的下标打印每个下标出现的次数和下标的值。 awk {arr{$n}}; END{ for(i in arr) {print arr[i],i} 文件名.. ​ //1.利用数组统计输出文件中各行出现的次数并排序 [rootlocalhost1 ~]#cat test.txt | awk {arr[$1]}; END{for(i in arr) {print arr[i],i}} test.txt |sort -rn 4 aaa 3 bbb 1 ccc ​ //2.利用数组统计过滤输入密码超过3次的主机ip [rootlocalhost1 /]#awk /Failed password/ {a[$13]};END{for(i in arr) {print arr[i],i}} /var/log/secure |awk $13 {print $2} 192.168.116.1 192.168.116.10​ 利用数组做去重 awk 1 就是 awk 1{print} 允许打印读入的行内容例echo 123 | awk 1 awk 0 就是 awk 0{print} 不允许打印读入的行内容例echo 123 | awk 0 var 的形式先读取 var 变量值再对 var 值 1 awk 处理第一行时先读取 a[$1] 值再自增a[$1] 即 a[1] 值为空(即0)即为 awk !0即为 awk 1即为 awk1{print} awk 处理第二行时先读取 a[$1] 值再自增a[$1] 即 a[1] 值为 1即为 awk !1即为 awk 0即为 awk 0{print} ​ //使用!arr[$1]实现禁止重复读取到的内容输出 [rootlocalhost1 ~]#arr(1 2 3 4 3 4 5 3 5 2 3 1) [rootlocalhost1 ~]#echo ${arr[]} |awk BEGIN{RS }; !arr[$1] 1 2 3 4 5​
http://www.yingshimen.cn/news/116584/

相关文章:

  • 商务网站推广技巧包括什么网站中弹出广告怎么做
  • 求推荐个网站怎么把网站改为正在建设中
  • 邯郸市搞网站服务务的吗合肥建网站
  • 网站建设公司哪家好 要上磐石网络西安学校网站建设费用
  • 建立企业网站的形式有哪几种容桂网站制作代理
  • 网站开发设计文员网站建设创业项目简介
  • 龙港做网站店铺wordpress4.x版本
  • 网站功能设计怎么写网站控制台
  • 网站建设初期问题常见广州空港经济区门户网站
  • 网站建设 会议纪要wordpress汉字后缀图片不显示
  • 汽车销售网站模板 cms网站建设 别墅
  • 口碑营销网站php网站开发案例教程
  • 国外买域名的网站域名怎样连接到网站
  • 网站开发教学网站聊城网站优化技术
  • 南京好的网站制作公司顺德技术支持 骏域网站建设专家
  • 建设注册中心网站wordpress4.7发布模块
  • 如何提高网站排名seo做网站凡科如何
  • 网站 站外链接wordpress安装好后怎么用
  • 服装网站建设公司上市设计公司网站
  • 龙游手机网站制作网站开发人员工工资
  • 沈阳市建设监理协会网站软件开发工具免费下载
  • 做一个公司的网站怎么做呢汾阳今天重大新闻
  • 网站建设挣钱网站支付的功能如何做
  • 广东一站式网站建设报价做网站用什么字体比较好
  • 绿色主题网站网站开发之前前后端不分离
  • 淘宝网站c 设计怎么做的视频制作和剪辑教程
  • 多品牌网站建设90设计app下载
  • 广州站改造最新消息东莞人才市场招聘
  • 建设银行信用卡网站下载中国纪检监察报价格
  • 西安网站公司推广怎么看是哪家做的网站