linux中查询远程服务器内存以及awk使用介绍

  awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大,下文我们就来介绍查询远程服务器内存以及awk使用吧.
 
  使用方法:awk '{pattern + action}' {filenames}
 
  调用awk,有三种方式调用awk.
 
  1.shell脚本方式
 
  将所有的awk命令插入一个文件,并使awk程序可执行,然后awk命令解释器作为脚本的首行,一遍通过键入脚本名称来调用,相当于shell脚本首行的:#!/bin/sh,可以换成:#!/bin/awk

  2.命令行方式
 
  awk [-F  field-separator]  'commands'  input-file(s)
 
  其中,commands 是真正awk命令,[-F域分隔符]是可选的,input-file(s) 是待处理的文件,在awk中,文件的每一行中,由域分隔符分开的每一项称为一个域,通常,在不指名-F域分隔符的情况下,默认的域分隔符是空格.
 
  3.将所有的awk命令插入一个单独文件,然后调用:
 
  awk -f awk-script-file input-file(s)
 
  其中,-f选项加载awk-script-file中的awk脚本,input-file(s)跟上面的是一样的.
 
  查询远程服务器存储详细信息:ssh 192.168.1.101 'free -g'
 
  查询远程服务器内存,打印出第3行第4列的内容:
 
  ssh 192.168.1.101 'free -g' | awk 'NR==3{print $4}'
 
  定时结束进程(本例5秒后结束):& { sleep 5; eval 'kill -9 $!';}
 
  查询远程服务器内存,打印出第3行第4列的内容,不管连接远程成功与否都会,5秒后结束.
 
  ssh 192.168.1.101 'free -g'| awk 'NR==3{print $4}' & { sleep 5; eval 'kill -9  --phpfensi.com
 
  无法使用awk命令
 
  使用ssh远程执行命令,当使用到awk时总是报错,而sed和grep都没有问题,开始以为awk不支持远程执行,经过反复测试,找到了解决方法.
 
  举例:ssh 目标IP “awk ‘{print \$1}’文件名”
 
  说明:只要保证ssh使用的是“”,并且awk中的$加上转义即可.
 
  这个恼人的awk的问题,顺利解决了.
 
 

dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。