Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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_Terminal - Fatal编程技术网

Linux 如何在bash脚本中修剪文本?

Linux 如何在bash脚本中修剪文本?,linux,bash,shell,terminal,Linux,Bash,Shell,Terminal,因此,当我在Linux终端中键入uptime时,它会给出如下结果: 00:27:29 up 2 days, 10:36, 1 user, load average: 0.00, 0.01, 0.05 但是,我真正想要的是平均负载信息。我怎样才能把文字剪到合适的位置 load average: 0.00, 0.01, 0.05 我真的不确定对这样的事情使用哪个命令。请让我知道。谢谢。一个简单的 uptime | sed 's/.*load/load/' 应该通过awk来做这个把戏 $

因此,当我在Linux终端中键入uptime时,它会给出如下结果:

00:27:29 up 2 days, 10:36,  1 user,  load average: 0.00, 0.01, 0.05
但是,我真正想要的是平均负载信息。我怎样才能把文字剪到合适的位置

load average: 0.00, 0.01, 0.05
我真的不确定对这样的事情使用哪个命令。请让我知道。谢谢。

一个简单的

 uptime | sed 's/.*load/load/'
应该通过awk来做这个把戏

$ uptime | awk -F"  +" '{print $NF}'
load average: 0.19, 0.16, 0.21
-F+将字段分隔符值设置为两个或多个空格。因此,awk根据两个或更多的空间分割每条线。这个print$NF将打印最后一列的值

sed的另一种方式:

用一个简单的剪切命令替换从开始到最后出现的2个连续空格的所有内容,包括不包含任何内容。

输出将是:


简单地说,我得到整个字符串的正常运行时间结果,然后我只说替换以单词load结尾的字符串,用单词load onlyOh ok。那么“s”是输入sed的整个字符串正常运行时间?噢,不,对不起,s代表替换。以load结尾的整个字符串的概念由正则表达式给出,该正则表达式由构造给出的任何字符序列。*后跟四个字符load。所以在合成中,它可以翻译为:编辑sed,用loadyour're welcome.替换正则表达式/*load/。。我建议你读书
uptime | sed 's/.*  //'
uptime|cut -d',' -f3,4,5
load average: 0.00, 0.01, 0.05