添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
cmd="awk -F, '{print $4}' /home/.../xxx.log|sort|uniq" for i in $ipList;do echo -e "\033[31m= $i = \033[0m"; ssh -o StrictHostKeyChecking=no rd@$i "$cmd" < /dev/null;

因为ssh "$cmd" 有层双引号,双引号会对$4进行解析,$4在上下文中不存在,导致结果不符合预期

fix方案

$ 符号进行转义

cmd="awk -F, '{print \$4}' /home/.../xxx.log|sort|uniq" #转义\
4。在上面的语法,无论是搜索模式,或行动是可选的,但不能同时。 5。如果 没有 给出搜索模式,然后 awk 要执行每一行输入给定的行动。 6。如果 没有 给出动作,打印,这是默认的操作与模式相匹配的所有行。 7。空出的任何行动括号什么都不做。它不会执行默认的打印操作。 8。中的每个行动的声明应该用分号分隔。让我们创建employee.txt文件,其中有 首先, 你需要先了解 awk 的工作原理: 1。 AWK 读取输入文件一次一行 原命令 ssh [email protected] "ps -ef |grep /home/wwwroot/tomcat/YL_apache-tomcat-7.0.82 |grep -v grep | /bin/ awk '{print $2}'" ### 执行后截取不到pid, awk 字段 生效 。 原来 远程 执行 awk ,需要对$进行转移才可以使用。 ssh [email protected]... 需要按照第二列大小排序命令: for i in ` awk -F ‘[ |]’ ‘{print NR,$2}’ mscto.txt|sort -rn -k2| awk ‘{print $1}’`; do awk ‘NR==’$i’ {print}’ mscto.txt; ———————————— 43 108|64 33 46|54 81 38|24 72 33|38 64 18|43 http://www.linux.gov.cn/ shell / awk .htm1, awk 是什么?为什么用 awk ? awk 是一种样式扫描与处理工作,它几乎可以完成grep和sed所能完成的全部工作,同时,它还可以可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。 awk 所做的工作有些象数据库,但与数据库不同的是 关于 awk 命令的基础用法,请参考Linux awk 命令。 awk -F awk -F #-F相当于内置变量FS, 指定分割字符,fs是一个字符串或者是一个正则表达式,如-F:。 awk 命令之,分割符 awk 命令之;分割符 cut命令  cut [选项] 文件       -f 列号 ( --field 提取第几列 )    -d 分隔符 ( --delimiter 按照指定 分隔符 分割列 )  vi user.txt  ( 行间 分隔符 为制表符Tab,cut的默认分割符是制表符 )  提取系统的用户名和uid:   cut -d ":" -f 1,3 /etc/passwd  与grep组合使用: 在 AWK 中使用正则表达式本文要说的不是正则表达式本身,而是如何将正则表达式有效地传递给 AWK 。对于 AWK 程序中的pattern,用"//"包围即可,比如mount | awk '/type (ext3|tmpfs)/ {print $1}' 分隔符 (field separator)也支持正则表达式,它在 awk 程序中是一个名为 FS 的变量,可以在命令行中通过 -F ...