Sponsored Content
Top Forums Shell Programming and Scripting Hundreds of files need manual preparation. Does shell script could do it automatically? Post 302945697 by RudiC on Monday 1st of June 2015 03:47:54 PM
Old 06-01-2015
DON'T! That kills the logics.

Given we have a form like
Code:
Title of the job
FNMV
Important Comment: The number of lines in the input file, and the
   *exact* typography for text input needs to be *rigorously* followed !!!!!!!!!
Temperatures (Next two lines: "List", or "Interval", then no of temps.)
   List
   1
Values (If "Interval", give start and finish temp.)
TEMPV
Pressure (in atm or bar - if given in atm, enter as a negative number. -1 is the G09 default)
PRV
Calculated properties of the species (e.g. from Gaussian output)
Electronic Energy
ELENV
Nature of species (Atom = 0, Linear = 1, or General = 3)
  3
Rotational factor (symmetry factor)
ROTFACTV
Electronic degeneracy (multiplicity)
MULTIV
Molecular Weight (amu)
MOLWEIV
Moments of Inertia (in amu x au2; none for Atom, 1 for Linear, 3 for General)
MOMINV
Vibrational Frequencies (first line: number; then freqs. in cm-1)
VIBFREQV

produced from your desired output, this

Code:
awk '
                                                # parse form file, fill in values found in data file
                                                # do this first so we don''t overwrite values by accident should a pattern fit
/FNMV/                  {print FNMV; next} 
/TEMPV/                 {print TEMPV; next}
/PRV/                   {print PRV; next}  
/ELENV/                 {print ELENV; next}   
/ROTFACTV/              {print ROTFACTV; next}
/MULTIV/                {print MULTIV; next} 
/MOLWEIV/               {print MOLWEIV; next}
/MOMINV/                {for (i=1; i<=3; i++)  print MOMINV[i]; next}
/VIBFREQV/              {print 3 * FC
                         for (i=3; i<=5; i++) for (j=1; j<=FC; j++) print FR[j,i]
                         next}

FNR != NR               {print; next}

                                                # parse data file, save relevant fields
NR==1                   {FNMV=FILENAME
                         gsub (/^.*\/|\..*$/, "", FNMV)
                        }
/SCF Done:/             {ELENV = $5}
/Molecular mass/        {MOLWEIV = $(NF-1)}
/ Temp.*Kelvin/         {TEMPV = $2}
/Kelvin.*Pressure/      {PRV = ($NF=="Atm."?"-":"") $(NF-1)}
/Multiplicity/          {MULTIV = $NF "."}
/Rotational.*ber/       {ROTFACTV = $NF}
/Frequencies --/        {FC++;for (i=3; i<=5; i++) FR[FC,i]=$i}   
/Eigenvalues -- /       {gsub (/\.[0-9][0-9][0-9][0-9][0-9]/,"& ")
                         for (i=1; i<=3; i++) MOMINV[i] = $(i+2)
                        }

' /tmp/feco4_s.log.txt templform

will yield (pretty close to what you requested?):

Code:
Title of the job
feco4_s
Important Comment: The number of lines in the input file, and the
   *exact* typography for text input needs to be *rigorously* followed !!!!!!!!!
Temperatures (Next two lines: "List", or "Interval", then no of temps.)
   List
   1
Values (If "Interval", give start and finish temp.)
298.150
Pressure (in atm or bar - if given in atm, enter as a negative number. -1 is the G09 default)
-1.00000
Calculated properties of the species (e.g. from Gaussian output)
Electronic Energy
-1715.82310939
Nature of species (Atom = 0, Linear = 1, or General = 3)
  3
Rotational factor (symmetry factor)
2.
Electronic degeneracy (multiplicity)
1.
Molecular Weight (amu)
167.91460
Moments of Inertia (in amu x au2; none for Atom, 1 for Linear, 3 for General)
1284.73849
1536.05333
2170.19761
Vibrational Frequencies (first line: number; then freqs. in cm-1)
21
45.7886
96.4952
353.2741
427.8395
499.7992
640.4272
2062.0748
66.7894
96.9991
363.5129
430.9072
537.9941
640.7995
2062.6585
79.7836
335.4020
422.7705
448.4787
595.3209
2042.2981
2151.4066

 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Script to automatically check ports in shell?

Good day, I'm new to linux environment...Is there any scripts available for me to check ports (lets say port 80 and 21) through shell with just a single commandline? Any response is very much appreciated.. thanks (4 Replies)
Discussion started by: arsonist
4 Replies

2. Shell Programming and Scripting

how to run shell script automatically

hi , i m trying to run bash scrip automaticially but i dont know how i can do this an anybody tell me how i can autorun shell script when i logon . thanks (9 Replies)
Discussion started by: tahir23
9 Replies

3. Shell Programming and Scripting

Shell script to invoke options automatically

i have a script which has 2 options. a b And a has 6 sub options. i want to write a script which will call the parent script and give options automatically. examle: linasplg11:/opt/ss/kk/01.00/bin # startup.sh /opt/ss/rdm/01.00 Please select the component to... (2 Replies)
Discussion started by: Aditya.Gurgaon
2 Replies

4. Shell Programming and Scripting

automatically format Shell Script (bash)

Hi In TOAD I can write SQL code, then select the SQL code -> Menu Edit -> Format Code The output is well formatted code (correct indent, ...) Is there a tool (for Windows and/or UNIX) what can do the same for bash code? TOAD (software) - Wikipedia, the free encyclopedia (1 Reply)
Discussion started by: slashdotweenie
1 Replies

5. Shell Programming and Scripting

Shell script to automatically download files

I am new to shell scripting and need to write a program to copy files that are posted as links on a specific url. I want all the links copied with the same file name and the one posted on the webpage containing the url onto a specific directory. That is the first part. The second part of the script... (2 Replies)
Discussion started by: libertyforall
2 Replies

6. Solaris

Renaming hundreds of files at the same time

Hi, I am having issues trying to figure out how to rename files like this: TEST1_B.tt To SQP_CAN_B.tt I have hundreds of files like those, I need to rename them automatically. Any help will be greatly appreciated. Thanks, (5 Replies)
Discussion started by: ocramas
5 Replies

7. Shell Programming and Scripting

Best way to connect to hundreds of nodes and grep log files

Hi, What will be the best way to connect (ssh) to hundreds of nodes and grep log files parallely from shell. Using for loop seems to be sequential. Are there any shell built in construct which could be used to achieve this? Is the sub shell any good here? (1 Reply)
Discussion started by: agent001
1 Replies

8. Shell Programming and Scripting

Need to add code to hundreds of .html files

Need assistance to add code to hundreds of .html Code will look like below and needs to be added below <html> tag: <script> Some .js code here </script> This will be used in Fedora release 7 (Moonshine). I will appreciate any type of help and/or orientation. Thank you! (4 Replies)
Discussion started by: Ferocci
4 Replies
All times are GMT -4. The time now is 02:59 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy