在给定的数据中,是否可以对每个区域进行 uniq 排序和仅打印最高命中?
给定数据
aza1 18
bcn1 16
sat2 12
lcy2 12
fra1 12
aza1 12
bcn1 10
sat2 8
lcy2 9
fra1 13
aza1 21
bcn1 2
sat2 10
lcy2 0
fra1 1
所需输出
aza1 21
bcn1 16
sat2 12
lcy2 12
fra1 13
我有一个包含几个开关和引导变量的文件。
lax1-sw0101#show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable does not exist
Boot Variables on next reload:
BOOT variable does not exist
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
lax1-sw0101#
lgb1-sw0102#show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable does not exist
Boot Variables on next reload:
BOOT variable does not exist
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
lgb1-sw0102#
las-sw0101#show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable does not exist
Boot Variables on next reload:
BOOT variable = flash:/cat9k_iosxe.bin;
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
las-sw0101#
我只需要过滤具有“下次重新加载时启动变量:”作为“启动变量不存在”的开关,并打印主机名
Output:
lax1-sw0101#
Boot Variables on next reload:
BOOT variable does not exist
lgb1-sw0102#
Boot Variables on next reload:
BOOT variable does not exist
我尝试了一些 awk/sed 解决方案,例如行间打印,从第 n 行打印,我能达到的最接近的是类似于下面的那个,但我无法在下面打印一行
awk '/#/{a=$0}/Boot Variables on next reload/{print a"\n"$0}'
我有一组文件,其中包含来自网络中多个 cisco 交换机的引导变量。我需要在下次重新加载时仅过滤引导变量为空的交换机并打印主机名
given this data
hostname1#show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable = flash:cat9k_iosxe.bin;
Boot Variables on next reload:
BOOT variable =
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
hostname2#show boot
---------------------------
Switch 1
---------------------------
Current Boot Variables:
BOOT variable = flash:cat9k_iosxe.bin;
Boot Variables on next reload:
BOOT variable = flash:cat9k_iosxe.bin;
Manual Boot = no
Enable Break = no
Boot Mode = DEVICE
iPXE Timeout = 0
desired result
hostname1
BOOT variable =
谢谢!
使用 AWK 和 SED 模式,我最终得到了一个类似于
| 9000 3000 1000 0000 0000 2000 1000 2000 | 5669000 518000 3000 16000 0000 28000 2241000 2841000 | 9020000 453000 520000 4000 2852000 5191000 75000 |
是否可以连接“|”之间分隔的行 用逗号分隔成一行?
9000,3000,1000,0000,0000,2000,1000,2000 5669000,518000,3000,16000,0000,28000,2241000,2841000 9020000,453000,520000,4000,2852000,5191000,75000
我使用粘贴来执行此操作,但它会产生不希望的结果,因为“|”之间的行数 不相等。
我有这个要求,show mac address table
一个开关将列出 1000 个条目。
文件1: switch_1#显示mac地址表 AA:AA:AA:AA:AA:AA 端口 47 BB:BB:BB:BB:BB:BB 端口 48 . . . DD:DD:DD:DD:DD:DD 端口 50
文件2: switch_2#显示mac地址表 AA:AA:AA:AA:AA:AA 端口 47 BB:BB:BB:BB:BB:BB 端口 48 . . . DD:DD:DD:DD:DD:DD 端口 45
我需要找到一种方法来显示包含的行DD:DD:DD:DD:DD:DD
,一旦发生这种情况,它应该在上面搜索几行并打印包含主机名的行
所以输出应该是这样的:
switch_1#显示mac地址表 DD:DD:DD:DD:DD:DD 端口 50 switch_2#显示mac地址表 DD:DD:DD:DD:DD:DD 端口 45
file1
,file2
存储在同一目录中(这些只是示例,大约有 100 多个文件/开关,MAC 需要与开关名称一起过滤)