gpt4 book ai didi

regex - 将显示的终端输出保存到格式良好的文件中

转载 作者:太空狗 更新时间:2023-10-29 12:01:31 26 4
gpt4 key购买 nike

我需要将来自不同命令的所有信息“转储”到 bash 中的一个文件中。当我在终端输入命令时,它以非常漂亮的格式显示并且可读。例如我有这个命令

ifconfig -a | grep  "inet\|lo\|eth\|wlan"

我想在文件中输出我这样做

echo $(ifconfig -a | grep  "inet\|lo\|eth\|wlan") >> filename.txt

但是当我打开 filename.txt 时,一切都是像这样

eth0 Link encap:Ethernet HWaddr # inet addr:#Bcast:# Mask:# inet6 addr: # Scope:Link eth0:1 Link encap:Ethernet HWaddr # inet addr:127.0.0.1 Bcast:127.255.255.255 Mask:255.0.0.0 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host

但我希望它看起来像这样的终端输出

eth0 Link encap:Ethernet 
HWaddr #
inet addr:#
Bcast:#
Mask:#
inet6 addr: #
Scope:Link
eth0:1 Link encap:Ethernet
HWaddr #
inet addr:127.0.0.1
Bcast:127.255.255.255
Mask:255.0.0.0 lo Link
encap:Local
Loopback inet addr:127.0.0.1
Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host

这可能吗?我一直在尝试用 sed 命令用\n 替换“空格”例如 sed "s//\n/#" 其中 # 表示要删除的空间,但这显然不是要走的路。必须有另一种方式来实现我想要的。我不仅需要格式化 ifconfig 命令。

最佳答案

你正在做的事情可以简单地完成:

ifconfig -a | grep  "inet\|lo\|eth\|wlan" >> filename.txt

grep  "inet\|lo\|eth\|wlan" <<<"$(ifconfig -a)" >> filename.txt

而您当前代码中输出“不同”的原因是因为所有空格都丢失了。如果你这样做:

echo "$(ifconfig -a | grep  "inet\|lo\|eth\|wlan")" >> filename.txt

你不会有那个问题。

关于regex - 将显示的终端输出保存到格式良好的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34275580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com