2012-12-13 49 views

回答

-1

如果所有的数据有1位,1个点,6个位数的完全是一个模式,你可以用sed:

sed -r 's/.*([0-9]\.[0-9]{6}).*/\1/' file 

如果你想在containig“的意思是MP2 RMS”的台词只有这个模式:

sed -r 's/mean MP2 rms.*([0-9]\.[0-9]{6}).*/\1/' file 
+0

只是为了阐述你的答案。 'sed'命令只是Unix/Linux系统。 http://www.grymoire.com/Unix/Sed.html –

+0

要使用类似于'sed'的Windows命令,请参阅'findstr'。 http://ss64.com/nt/findstr.html –

+0

@DavidRuhmann - FINDSTR无法从一行中提取匹配文本。它只能打印包含匹配的整个行。 – dbenham

0

如果你的数据是6场用空格分开,没有奇怪的字符,你可以使用这个:

@echo off 
for /f "usebackq tokens=1,2,3,4,5,6 delims= " %%a in ("data.txt") do (
    echo %%e 
) 

在循环中,每个字段都从%%a%%f获得一个字母。 %%e是你想要的数据。例如:

C:\batch>get_data.cmd 
0.287070 
0.387070 
0.487070 
0.587070