Differences

This shows you the differences between two versions of the page.

Link to this comparison view

isrm:laboratoare:new:02 [2021/03/15 13:38]
dragos.niculescu
isrm:laboratoare:new:02 [2021/03/15 13:55] (current)
dragos.niculescu
Line 403: Line 403:
 </​code>​ </​code>​
  
-<code bash> 
-awc() { awk "​BEGIN{print $*}"; } 
-for i in `seq 10 2 20`; do awc "$i / 10"; done 
-</​code>​ 
  
 ====  Aritmetica în shell scripting ==== ====  Aritmetica în shell scripting ====
  
-Bash face toate calculele pe integer. ​+Bash face **toate calculele pe integer**, deci nu poate fi folosit pentru a calcula medii (mean, median, standard deviation)  
 <code bash> <code bash>
-x=5; echo $(($x / 3))+x=5; echo $(($x / 3)) 
 +1
 </​code>​ </​code>​
  
 <code bash> <code bash>
-x=24 +x=24 
-y=25 +y=25 
-b=`expr $x = $y`         # Test equality. +b=`expr $x = $y`         # Test equality. 
-echo "b = $b" ​           # 0  ( $x -ne $y ) +echo "b = $b" ​           # 0  ( $x -ne $y ) 
-echo+b = 0 
 </​code>​ </​code>​
 +
  
 Putem folosi utilitarul ''​bc''​ cu pipe pentru calcule în floating point: Putem folosi utilitarul ''​bc''​ cu pipe pentru calcule în floating point:
  
 <code bash> <code bash>
-echo '6.5 / 2.7' | bc +echo '6.5 / 2.7' | bc 
-echo '​scale=3;​ 6.5/​2.7'​ | bc+
 +echo '​scale=3;​ 6.5/​2.7'​ | bc 
 +2.407 
 </​code>​ </​code>​
 +
 +<code bash>
 +$ awc() { awk "​BEGIN{print $*}"; }
 +$ for i in `seq 1 1 4`; do awc "$i + sqrt($i)";​ done
 +2
 +3.41421
 +4.73205
 +6
 +</​code>​
 +
  
  
Line 436: Line 447:
  
 Exemple simple: ​ Exemple simple: ​
-<​code>​  +<​code ​bash>  
-parallel echo "{1} a{2}" ::: $(seq 1 1 3) ::: $(seq 100 102) +parallel echo "{1} a{2}" ::: $(seq 1 1 3) ::: $(seq 100 102) 
 1 a100 1 a100
 1 a101 1 a101
Line 453: Line 464:
 <​code>​ <​code>​
  
-cat > batch +cat > batch 
 sleep $1 sleep $1
 echo $2 echo $2
- +parallel ​ ./batch ::: $(seq 3 -1 1) ::: $(seq 100 102) 
-parallel ​ ./batch ::: $(seq 3 -1 1) ::: $(seq 100 102) +
 100 100
 100 100
Line 473: Line 483:
  
 <​code>​ <​code>​
-parallel -k  bash ./batch ::: $(seq 3 -1 1) ::: $(seq 100 102) +parallel -k  bash ./batch ::: $(seq 3 -1 1) ::: $(seq 100 102) 
 100 100
 101 101
Line 489: Line 499:
  
 <​code>​ <​code>​
-function run_fixed(){+function run_fixed(){
     echo  -n "$1 $2 "     echo  -n "$1 $2 "
     ./waf --run "​lab6-7-cw ​ --payloadSize=212 ​ --ns=$1 --nd=$1 --minCw=$2 --maxCw=$2 --pcap=false"​ | tail -n1      ./waf --run "​lab6-7-cw ​ --payloadSize=212 ​ --ns=$1 --nd=$1 --minCw=$2 --maxCw=$2 --pcap=false"​ | tail -n1 
 } }
  
-export -f run_fixed+export -f run_fixed
  
-parallel -k run_fixed {1} {2} ::: 4 6 7 20 40 ::: 3 7 15 31 63 127 255 511 1023 2047 4095+parallel -k run_fixed {1} {2} ::: 4 6 7 20 40 ::: 3 7 15 31 63 127 255 511 1023 2047 4095
 </​code>​ </​code>​
  
isrm/laboratoare/new/02.1615808339.txt.gz · Last modified: 2021/03/15 13:38 by dragos.niculescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0