使用awk命令并与另一台机器中的命令输出进行比较

时间:2015-10-18 07:20:03

标签: unix awk

我希望检查另一台机器上是否存在一台机器上的随机UID,如果存在则打印。我对awk很新,遇到了障碍。这就是我如何处理这个问题: 在/ etc / passwd中选择一个随机行,得到第三列,即UID; ssh到另一台机器,获取/ etc / passwd内容,检查第一台机器的引用UID是否出现在任何行的第3列并打印出来。 我只能到达我获得参考UID的点。如何使用此值,ssh到另一台机器并比较它是否存在:

    shuf -n 1 /etc/passwd | awk '{print $3}' <the reference UID> <ssh 10.0.0.0> cat /etc/passwd <compare if reference UID is present>

1 个答案:

答案 0 :(得分:0)

以下是这样做的一种方式:

ListManager

打破它:

  1. 此部分存储uid:awk -vuid=$(shuf -n 1 /etc/passwd | awk -F: '{print $3}') -F: '$3 == uid' <( ssh host cat /etc/passwd)
  2. 如果第3个字段与我们的uid匹配,则会打印该行:-vuid=$(shuf -n 1 /etc/passwd | awk -F: '{print $3}')
  3. 这里我们将ssh命令的输出视为文件:'$3 == uid'