繁体   English   中英

在Bash中仅显示一行的一部分

[英]Displaying only a part of a line in Bash

我有一行数据。 它包含单词和数字。

    15 F= -.33052537E+03 E0= -.33051414E+03 d E=.720942E-05 mag=24.6037:3

我需要从此行中提取值-.33052537E + 03。

使用bash

$ read one two three rest <<<'   15 F= -.33052537E+03 E0= -.33051414E+03 d E=.720942E-05 mag=24.6037:3'
$ echo "$three"
-.33052537E+03

使用awkbash

$ awk '{print $3}' <<<'   15 F= -.33052537E+03 E0= -.33051414E+03 d E=.720942E-05 mag=24.6037:3'
-.33052537E+03

使用sedbash

$ sed 's/.*F= //; s/ E0=.*//' <<<'   15 F= -.33052537E+03 E0= -.33051414E+03 d E=.720942E-05 mag=24.6037:3'
-.33052537E+03

使用GNU grepbash

$ grep -oP '(?<=F= ).*(?= E0=)' <<<'   15 F= -.33052537E+03 E0= -.33051414E+03 d E=.720942E-05 mag=24.6037:3'
-.33052537E+03

如果仅存在一行,则将该行分配给变量。

var="15 F= -.33052537E+03 E0= -.33051414E+03 d E=.720942E-05 mag=24.6037:3"

echo $var|awk '{print $3}'

如果有很多行,则将这些行插入文件中,然后

awk '{print $3}' file.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM