0

假设我有一个这样的字符串

这里有一些随机词 25 ms

我想提取 25 并将其放入另一个文本文件中。我该怎么做?

基本上,每一行的开头都有一些单词,最后是一个浮点小数,后面是ms。25只是作为例子。

4

5 回答 5

2

awk打印倒数第二个字段:

$ awk '{print $(NF-1)}' <<< "Some random words here 25 ms" 
25

积极的前瞻grep中:

grep -Po "[0-9.]+(?= ms)"  <<< "Some random words here 25 ms" 
25
于 2013-02-06T15:37:56.023 回答
0

25应该去哪里?你完成你的问题了吗?

根据您问题的当前版本。所以 25 不是随机的。只是

echo "25" > another.file

如果 25 是随机数,则始终位于该行的末尾:

grep -oE '[0-9]+$' <<<" Some random words here 25" > another.file

编辑

grep -Po '\d+(?= ms)' <<<"Some random words here 25 ms" > another.file
于 2013-02-06T15:26:41.453 回答
0
sed 's/[^0-9. ]*//g' input.txt > output.txt
于 2013-02-06T15:28:33.870 回答
0

我会在ms.

sed 's/.* \([0-9.]*\) ms$/\1/' input.txt > output.txt
于 2013-02-06T15:33:07.190 回答
0

如果有些行最后没有 ms 那么你也可以这样做

awk '$NF ~ /ms/{print $(NF-1)}' temp.txt

它只会选择那些最后一个字段有的行ms

于 2013-02-07T01:31:54.333 回答