假设我有一个这样的字符串
这里有一些随机词 25 ms
我想提取 25 并将其放入另一个文本文件中。我该怎么做?
基本上,每一行的开头都有一些单词,最后是一个浮点小数,后面是ms。25只是作为例子。
仅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
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
sed 's/[^0-9. ]*//g' input.txt > output.txt
我会在ms
.
sed 's/.* \([0-9.]*\) ms$/\1/' input.txt > output.txt
如果有些行最后没有 ms 那么你也可以这样做
awk '$NF ~ /ms/{print $(NF-1)}' temp.txt
它只会选择那些最后一个字段有的行ms