我想从这个txt文件中只得到一个字:http://pastebin.com/jFDu0Le5。这个词来自最后一行:WER: 45.67% Correct: 65.87% Acc: 54.33%
我想只获取值45.67
将其保存到文件value.txt
。我想创建BASH脚本来获取此值。你能举个例子怎么做吗???我是Bash的新手,我需要上学。整个.txt文件以文本文件file.txt
保存在我的服务器上。
答案 0 :(得分:0)
你想要grep" WER:" value.txt |切 - ???
我有???因为我不知道文件的结构。制表符分隔?固定宽度?男人会削减你可以得到你需要的论据。
答案 1 :(得分:0)
试试这个:
grep WER file.txt | awk '{print $2}' | uniq | sed -e 's/%//' > value.txt
请注意,每次运行命令时都会覆盖value.txt。
答案 2 :(得分:0)
如果格式如您所说,那么这也有效
awk -F'[: %]' '/^WER/{print $3}' file.txt > value.txt
-F
将字段分隔符指定为[: %]
/<PATTERN>/ {<ACTION>}
指的是:如果一行与某些PATTERN匹配,则执行一些ACTION ^
字符串WER
print
字段$3
(由-F
字段分隔符拆分)>
将输出发送到value.txt
答案 3 :(得分:0)
有很多方法和工具可以完成这项任务:
tac file.txt | sed -n '/^WER: /{s///;s/%.*//;p;q}' > value.txt
tac file.txt | awk -F'[ %]' '/^WER:/{print $2;exit}' > value.txt
while read a b c
do
if [ $a = "WER:" ]
then
b=${b%\%*}
echo ${b#* }
break
fi
done < <(tac file.txt) > value.txt