【发布时间】:2026-01-25 19:50:01
【问题描述】:
所以我有一个命令,如果找到的话就打印主机。
awk -v IGNORECASE=1 -v m="$host" '$2~m {p=1} NF>2 && $2!~m {p=0} p' ${TEMP}/*
这就是它的结果
33 VMME87 VMware 51402EC000CF2732 3:0:2
51402EC000CF2730 3:0:1
51402EC000CF2730 2:0:1
51402EC000CF2732 2:0:2
83 VMME87 VMware 51402EC000CF2732 1:2:4
51402EC000CF2730 1:2:3
51402EC000CF2730 0:2:3
51402EC000CF2732 0:2:4
但是,是否也可以将文件名打印到找到它的位置?
大概是这样的:
**Name of the file**
33 VMME87 VMware 51402EC000CF2732 3:0:2
51402EC000CF2730 3:0:1
51402EC000CF2730 2:0:1
51402EC000CF2732 2:0:2
echo (space)
**Name of the file**
83 VMME87 VMware 51402EC000CF2732 1:2:4
51402EC000CF2730 1:2:3
51402EC000CF2730 0:2:3
51402EC000CF2732 0:2:4
如果我使用grep,它会打印文件名,但不会打印所有最后一列。
Name of the file 33 VMME87 VMware 51402EC000CF2732 3:0:2
【问题讨论】:
-
告诉我们更多关于输入文件的信息。特别是它们有多少列,以及分隔符是什么。