我需要将SSH放入带有ansible的Cisco设备中,并获得我给出的命令的输出:
不可接受的命令:
ansible 10.1.1.10 -m raw -a 'show ip route' -u david -k发出此命令后,这是我的输出:
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
+ - replicated route, % - next hop override
Gateway of last resort is not set
7.0.0.0/32 is subnetted, 1 subnets
C 7.7.7.7 is directly connected, Loopback1
8.0.0.0/32 is subnetted, 1 subnets
C 8.8.8.8 is directly connected, Loopback2
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.1.1.0/24 is directly connected, Ethernet0/0
L 10.1.1.10/32 is directly connected, Ethernet0/0Shared connection to 10.1.1.10 closed.我需要接受这个输出并将其放入一个excel文件中,但问题是:我上面粘贴的整个输出应该进入excel (或csv)文件的单列/行。
(例如,整个字符串应该转到我的文件的"B3" colum/行。
问题是,每次我将输出发送到CSV文件时,CSV文件都会自动将其拆分(如果在输出字符串中设置了逗号或任何内容)。即使我用CSV设置忽略了这些事情(逗号、制表符等),但是输出字符串中的每一行都被认为是CSV文件中的新行。
任何人都有任何解决方案,我怎样才能把所有的输出加到例如。我的CSV或XLS文件的B3列/行?
提前谢谢。
发布于 2022-04-23 17:53:29
我不知道您是如何将输出直接输入到B3中的,可能是复制粘贴吗?如果是这样,请确保单元格可编辑(文本的闪烁光标),并将其粘贴到单元格中;而不是只选择单元格并试图将剪贴板的内容粘贴到单元格上(然后Excel尝试解释输入并将其拆分)。
如果您可以复制粘贴为文本,这可能是最好的选择,因为Excel将能够正确处理任何逗号或引号已经在ansible输出。
如果你还想要一个命令行解决方案,这有点麻烦,但是.
仅用引号包装输出就可以了,但前提是输出本身没有引号。
我将您的示例输出保存为output.csv。下面是我用数字打开它的样子(我没有Excel)。您可以看到数据被分割成多个列和行,就像您提到的那样:

下面是一个简单的脚本,它只是在输出的开头和结尾添加了一个双qoute ("):
#!/bin/sh
echo '"' > output_with_quotes.csv
cat output.csv >> output_with_quotes.csv
echo '"' >> output_with_quotes.csv当我用数字打开它时,这个文件是这样的:

https://stackoverflow.com/questions/71979721
复制相似问题