Difference between revisions of "Grep log file"

From relax wiki
Jump to navigation Jump to search
Line 5: Line 5:
 
Then we replace instances of '''relax> ''' with empty, and comment out the model line.
 
Then we replace instances of '''relax> ''' with empty, and comment out the model line.
  
 +
Put this into a file: '''relax_log_to_py.sh'''
 
<source lang="bash">
 
<source lang="bash">
set IN=logfile.txt ;
+
#!/bin/tcsh -f
set OUT=grep_log_to_commands.txt ;
+
 
egrep -wi --color 'relax>| model -' $IN > $OUT ;
+
set LOGS=`ls -v -d -1 *.log`
 +
foreach LOG ( ${LOGS} )
 +
set BNAME=`basename $LOG .log`
 +
set OUT="grep_${BNAME}.py"
 +
egrep -wi --color 'relax>| model -' $LOG > $OUT ;
 
sed -i "s/relax> //" $OUT ;
 
sed -i "s/relax> //" $OUT ;
 
sed -i 's/^- /\n#- /' $OUT ;
 
sed -i 's/^- /\n#- /' $OUT ;
Line 17: Line 22:
 
sed -i '0,/spectrum.replicated(/s//\nspectrum.replicated(/' $OUT ;
 
sed -i '0,/spectrum.replicated(/s//\nspectrum.replicated(/' $OUT ;
 
sed -i '0,/spectrum.read_intensities(/s//\nspectrum.read_intensities(/' $OUT ;
 
sed -i '0,/spectrum.read_intensities(/s//\nspectrum.read_intensities(/' $OUT ;
 +
end
 +
</source>
 +
 +
Make it executable
 +
<source lang="bash">
 +
chmod +x relax_log_to_py.sh
 +
</source>
 +
 +
End then execute it
 +
<source lang="bash">
 +
tcsh relax_log_to_py.sh
 +
# OR
 +
./relax_log_to_py.sh
 
</source>
 
</source>
  

Revision as of 08:07, 29 August 2013

Grep the log file for commands

First we find which commands relax has performed, and separate into the different fitting models.
We also just make some line space and important points.

Then we replace instances of relax> with empty, and comment out the model line.

Put this into a file: relax_log_to_py.sh

#!/bin/tcsh -f

set LOGS=`ls -v -d -1 *.log`
foreach LOG ( ${LOGS} )
set BNAME=`basename $LOG .log`
set OUT="grep_${BNAME}.py"
egrep -wi --color 'relax>| model -' $LOG > $OUT ;
sed -i "s/relax> //" $OUT ;
sed -i 's/^- /\n#- /' $OUT ;
sed -i 's/^minimise(/\nminimise(/' $OUT ;
sed -i 's/^script(/\n#script(/' $OUT ;
sed -i 's/^results.write(/\nresults.write(/' $OUT ;
sed -i 's/^model_selection(/\nmodel_selection(/' $OUT ;
sed -i '0,/spectrum.replicated(/s//\nspectrum.replicated(/' $OUT ;
sed -i '0,/spectrum.read_intensities(/s//\nspectrum.read_intensities(/' $OUT ;
end

Make it executable

chmod +x relax_log_to_py.sh

End then execute it

tcsh relax_log_to_py.sh
# OR
./relax_log_to_py.sh

See also

Sed one-liners