| ²é¿´: 833 | »Ø¸´: 1 | ||
·ÉÏè¡¡½ð³æ (ÕýʽдÊÖ)
|
[ÇóÖú]
sum_dos½Å±¾½âÎö
|
|
!/bin/ksh # Script to sum up DOS files from VASP if [ $# -lt 3 ]; then echo "Usage: sum_dos [0] [start] [end]" echo "Or: sum_dos [1] [j] [k] [l] ..." exit 1 fi type=$1 shift 1 # Contiguous if [ $type -eq 0 ]; then start=$1 end=$2 shift 2 string=$start.to.$end echo $start echo $end # First file i=$start nl=$(wc -l DOS$i | sed 's/://g' | awk '{print $1}') echo $nl sed -n '2,'$nl' p' DOS$i | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1, $2, $3, $4, $5, $6, $7, $2+$4+$6, $3+$5+$7}' >| DOS.tmp i=$((i+1)) while [ $i -le $end ]; do sed -n '2,'$nl' p' DOS$i | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1, $2, $3, $4, $5, $6, $7, $2+$4+$6, $3+$5+$7}' >| DOS.tmp2 paste DOS.tmp DOS.tmp2 | awk '{printf "%15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f \n", $1, $2+$11, $3+$12, $4+$13, $5+$14, $6+$15, $7+$16, $8+$17, $9+$18}' >| DOS.tmp3 mv -f DOS.tmp3 DOS.tmp i=$((i+1)) done else start=$1 shift 1 # First file i=$start nl=$(wc -l DOS$i | sed 's/://g' | awk '{print $1}') echo $nl sed -n '2,'$nl' p' DOS$i | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1, $2, $3, $4, $5, $6, $7, $2+$4+$6, $3+$5+$7}' >| DOS.tmp string=$start for i in "$@"; do echo $i string=$(echo $string.$i) sed -n '2,'$nl' p' DOS$i | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1, $2, $3, $4, $5, $6, $7, $2+$4+$6, $3+$5+$7}' >| DOS.tmp2 paste DOS.tmp DOS.tmp2 | awk '{printf "%15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f \n", $1, $2+$11, $3+$12, $4+$13, $5+$14, $6+$15, $7+$16, $8+$17, $9+$18}' >| DOS.tmp3 mv -f DOS.tmp3 DOS.tmp done fi mv DOS.tmp DOS.SUM.$string rm -f DOS.tmp2 exit 0 Çó¸ßÊÖÖ¸µã¸Ã½Å±¾ÊÇÔõÑùʵÏÖÇóºÍµÄ£¬ÇóµÃÊÇÄÇЩºÍ£¿ |
» ²ÂÄãϲ»¶
085600 286·Ö ²ÄÁÏÇóµ÷¼Á
ÒѾÓÐ3È˻ظ´
275Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
286Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
083000ѧ˶274Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
¡¾Çóµ÷¼Á¡¿085601²ÄÁϹ¤³Ìר˶ | ×Ü·Ö272 |
ÒѾÓÐ5È˻ظ´
275Çóµ÷¼Á
ÒѾÓÐ13È˻ظ´
0856£¬²ÄÁÏÓ뻯¹¤321·ÖÇóµ÷¼Á
ÒѾÓÐ8È˻ظ´
085701»·¾³¹¤³Ì£¬267Çóµ÷¼Á
ÒѾÓÐ12È˻ظ´
320·Ö£¬²ÄÁÏÓ뻯¹¤×¨Òµ£¬Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
085701»·¾³¹¤³ÌÇóµ÷¼Á
ÒѾÓÐ8È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
¡¾·ÖÏí¡¿ ×îÐÂVASP½Å±¾´óÈ«¡¡Ö§³ÖVASP 5.3 (ÓÐsplit_dos; VP; Sumdos; sumup_dos µÈ)
ÒѾÓÐ615È˻ظ´
¡¾ÇóÖú¡¿dos½Å±¾ÇóÖú
ÒѾÓÐ5È˻ظ´
y1ding
Ìú¸Ëľ³æ (ÖøÃûдÊÖ)
- 1STÇ¿Ìû: 1
- Ó¦Öú: 61 (³õÖÐÉú)
- ¹ó±ö: 0.33
- ½ð±Ò: 5959.3
- É¢½ð: 1
- ºì»¨: 21
- Ìû×Ó: 1884
- ÔÚÏß: 491.1Сʱ
- ³æºÅ: 142265
- ×¢²á: 2005-12-21
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ
¡ï ¡ï ¡ï ¡ï ¡ï
franch: ½ð±Ò+5, лл»ØÌû½»Á÷¡£¡£¡£ 2014-07-08 08:35:20
franch: ½ð±Ò+5, лл»ØÌû½»Á÷¡£¡£¡£ 2014-07-08 08:35:20
|
×¢ÒâÕâÁ½¾ä sed -n '2,'$nl' p' DOS$i | awk '{printf "%12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f %12.8f \n", $1, $2, $3, $4, $5, $6, $7, $2+$4+$6, $3+$5+$7}' >| DOS.tmp2 paste DOS.tmp DOS.tmp2 | awk '{printf "%15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f %15.8f \n", $1, $2+$11, $3+$12, $4+$13, $5+$14, $6+$15, $7+$16, $8+$17, $9+$18}' >| DOS.tmp3 linuxÏ£¬¿´Ò»ÏÂsed awkÃüÁîµÄº¬Òå¼´¿É |
2Â¥2014-07-05 20:50:00














»Ø¸´´ËÂ¥