2012-12-13 47 views

回答

1

,如下圖所示使用awk。座標保存到另一個名爲file2的文件中,並且包含最大值和最小值的變量分別爲maxXminY

$ cat file 
T$57 abc string (50.00,110.00) 
T$97 xyz string (30.00,-1100.00) 

$ read maxX minY < <(awk -F"[ (,)]+" 'NR==1 { maxX=$4;minY=$5 } {if($4>maxX){maxX=$4} if($5<miny){miny=$5}print "("$4","$5")" > "file2"}END{print maxX" "miny}' file) 

$ echo $maxX 
50.00 

$ echo $minY 
-1100.00 

$ cat file2 
(50.00,110.00) 
(30.00,-1100.00) 
+0

感謝您的幫助:) – user1901466

0

這裏是一個小的shell腳本:

#!/bin/bash 

maxx=0 
miny=0 
#For everithing between brackets in you file do 
for i in `grep -oE '\(([^\(\)]*)\)' file` ; do 

echo $i >> newFile 

#Getting the differnts values 
j=`echo $i | tr -d '[\(][\)]'` 
x=`echo $j | cut -d, -f1` 
y=`echo $j | cut -d, -f2` 

#Putting the max in maxx 
if [ $maxx \< $x ] ; then 
    maxx=$x 
fi 

#Putting the min in miny 
if [ $miny \> $y ] ; then 
    miny=$y 
fi 

done 

echo $maxx 
echo $miny 
+0

它的工作原理......非常感謝:) – user1901466

相關問題