Atualmente, tenho milhares de arquivos .jdx e consegui encontrar uma maneira de obter as linhas que preciso dos arquivos ecoadas em um novo arquivo. O que eu não consigo fazer é obter os dados adicionais que precisam ser ecoados.
Isto é o que eu espero que o resultado final pareça ..
---
title: '1,2-Pentadiene'
visible: true
---
* DATA TYPE=MASS SPECTRUM
* CAS REGISTRY NO=591-95-7
* MOLFORM=C5H8
* MW=137.3
Download JDX: [10574-36-4-Mass16b9.jdx](10574-36-4-Mass16b9.jdx)
e este é o arquivo que está sendo lido ..
##TITLE=1,2-Pentadiene
##JCAMP-DX=4.24
##DATA TYPE=UV/VIS SPECTRUM
##ORIGIN=INSTITUTE OF ENERGY PROBLEMS OF CHEMICAL PHYSICS, RAS
##CAS REGISTRY NO=591-95-7
##MOLFORM=C5H8
##MP=-137.3
##BP=44.9
##SOURCE REFERENCE=RAS UV No. 816
##$NIST SQUIB=1955JON/TAY228-237
##$NIST SOURCE=TSGMTE
##SPECTROMETER/DATA SYSTEM=Beckman DU
##XUNITS=Wavelength (nm)
##YUNITS=Logarithm epsilon
##XFACTOR=1.000000
##YFACTOR=1.000000
##FIRSTX=170.0000
##LASTX=199.0000
##FIRSTY=3.2
##MAXX=199
##MINX=170
##MAXY=3.38
##MINY=2.02
##NPOINTS=30
##$REF AUTHOR=Jones, L.C., Jr.; Taylor, L.W.
##$REF TITLE=Far ultraviolet absorption spectra of unsaturated and aromatic hydrocarbons
##$REF JOURNAL=Anal. Chem.
##$REF VOLUME=27
##$REF NUMBER=2
##$REF PAGE=228-237
##$REF DATE=1955
##XYPOINTS=(XY..XY)
170.0000,3.200002
171.0000,3.190000
172.0000,3.190000
173.0000,3.200000
174.0000,3.240000
175.0000,3.290000
176.0000,3.340000
177.0000,3.380000
178.0000,3.370000
179.0000,3.320000
180.0000,3.320001
181.0000,3.340000
182.0000,3.130000
183.0000,2.940000
184.0000,2.840000
185.0000,2.760000
186.0000,2.700000
187.0000,2.660000
188.0000,2.620000
189.0000,2.570000
190.0000,2.500003
191.0000,2.440000
192.0000,2.370000
193.0000,2.310000
194.0000,2.250000
195.0000,2.220000
196.0000,2.190000
197.0000,2.150000
198.0000,2.080000
199.0000,2.020000
##END=
O arquivo em lote que eu criei até agora é isso.
#!/bin/bash
while read -r line; do
echo \r --- > new.txt;
echo \r visible: true >> new.txt;
if [[ $line =~ TITLE ]] ; then echo \ title: $$line > new.txt; fi
if [[ $line =~ DATA ]] ; then echo \ $$line >> new.txt; fi
if [[ $line =~ CAS ]] ; then echo \ $$line >> new.txt; fi
if [[ $line =~ MOLFORM ]] ; then echo \ $$line >> new.txt; fi
if [[ $line =~ MW ]] ; then echo \ $$line >> new.txt; fi
done<*.jdx
yourfilenames='ls *.jdx'
for eachfile in $yourfilenames
do
echo \ \($eachfile\)\[$eachfile\] >> new.txt; done
Agora, para a vida de mim, eu não consigo fazer isso funcionar. Antes de eu ficar ainda mais grisalho, existe algum tipo de alma que possa me ajudar?
Obrigado