Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在bash中修改命令的实时详细输出?_Linux_Bash_Shell - Fatal编程技术网

Linux 如何在bash中修改命令的实时详细输出?

Linux 如何在bash中修改命令的实时详细输出?,linux,bash,shell,Linux,Bash,Shell,如果我运行命令ping google.com。它将在终端上提供连续输出。 示例输出: 64 bytes from 74.125.130.101: icmp_seq=1 ttl=42 time=980 ms 64 bytes from 74.125.130.101: icmp_seq=2 ttl=42 time=1883 ms 64 bytes from 74.125.130.101: icmp_seq=3 ttl=42 time=1947 ms 64 bytes from 74.125.130.

如果我运行命令
ping google.com
。它将在终端上提供连续输出。 示例输出:

64 bytes from 74.125.130.101: icmp_seq=1 ttl=42 time=980 ms
64 bytes from 74.125.130.101: icmp_seq=2 ttl=42 time=1883 ms
64 bytes from 74.125.130.101: icmp_seq=3 ttl=42 time=1947 ms
64 bytes from 74.125.130.101: icmp_seq=4 ttl=42 time=1273 ms
64 bytes from 74.125.130.101: icmp_seq=5 ttl=42 time=848 ms
64 bytes from 74.125.130.101: icmp_seq=6 ttl=42 time=1072 ms
64 bytes from 74.125.130.101: icmp_seq=7 ttl=42 time=1202 ms
现在,如果我想修改每个输出行,只显示74.125.130.101:部分中的
64字节,我该怎么做


我想知道一种通用方法,它也可以与其他命令一起使用,这些命令可以生成实时详细输出。

使用
通过管道剪切

ping google.com | cut -d":" -f1 

使用
切割管道:

ping google.com | cut -d":" -f1 
awk方式:

ping google.com | awk -F ":" '{print $1}'
如果您需要与问题中完全相同的尾随冒号:

ping google.com | awk -F ":" '{print $1 ":"}'
格雷普方式:

ping google.com | grep -o "^.*:"
sed方式:

ping google.com | sed  's/\(.*:\).*/\1/'
awk方式:

ping google.com | awk -F ":" '{print $1}'
如果您需要与问题中完全相同的尾随冒号:

ping google.com | awk -F ":" '{print $1 ":"}'
格雷普方式:

ping google.com | grep -o "^.*:"
sed方式:

ping google.com | sed  's/\(.*:\).*/\1/'

只需通过管道连接到sed/awk/等?即,
ping google.com | sed/:.*$/”
将为您提供所需的输出。使这样的事情成为泛型意味着(IMHO)进行一些分析,并建立一个要应用于输出的动词列表。对于这种情况,您可以将函数
设置为右侧(从右侧删除),但仍需要将
:.*
作为参数传入。在*NIX Land中,这被认为与“使用管道来减少产出以获得所需的”的标准相反,不值得付出努力;(对不起)。请随意扩展您对泛型的定义,我们可能会有一些想法来帮助您。祝你好运。只需通过管道发送到sed/awk/等?即,
ping google.com;sed/:.*$/”
将为你提供所需的输出。使这样的事情成为泛型意味着(IMHO)进行一些分析,并建立一个要应用于输出的动词列表。对于这种情况,您可以将函数
设置为右侧(从右侧删除),但仍需要将
:.*
作为参数传入。在*NIX Land中,这被认为与“使用管道来减少产出以获得所需的”的标准相反,不值得付出努力;(对不起)。请随意扩展您对泛型的定义,我们可能会有一些想法来帮助您。祝你好运