[英]How to get word from text file BASH
我只想從此txt文件中獲取一個單詞: http : //pastebin.com/jFDu0Le5 。 這個詞來自最后一行: WER: 45.67% Correct: 65.87% Acc: 54.33%
我只想獲取值: 45.67
將其保存到文件value.txt
..我想創建BASH腳本來獲取該值。 能給我一個例子怎么做嗎??? 我是Bash的新手,上學需要它。 整個.txt文件保存為我的服務器上的文本文件file.txt
。
您需要grep“ WER:” value.txt | 切-???
我有 ??? 因為我不知道文件的結構。 制表符分隔? 固定寬度?
難道你會得到你需要的論據。
嘗試這個:
grep WER file.txt | awk '{print $2}' | uniq | sed -e 's/%//' > value.txt
請注意,每次您運行命令時,這將覆蓋value.txt。
如果格式如您所說,那么這也可以
awk -F'[: %]' '/^WER/{print $3}' file.txt > value.txt
-F
將字段分隔符指定為[: %]
/<PATTERN>/ {<ACTION>}
指的是:如果一行匹配某些PATTERN,則執行一些ACTION ^
開頭的字符串WER
print
字段$3
(由-F
字段分隔符分隔) >
將輸出發送到value.txt
有很多方法和工具可以完成此任務:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.