Формат gjf выглядит следующим образом:
%chk=test.chk
# hf/3-21g geom=connectivity
Title Card Required
0 1
C 0.53424883 1.46721985 -0.02620215
H 0.89090326 0.45840985 -0.02620215
H 0.89092167 1.97161804 0.84744935
H 0.89092167 1.97161804 -0.89985366
H -0.53575117 1.46723303 -0.02620215
1 2 1.0 3 1.0 4 1.0 5 1.0
2
3
4
5
и формат xyz выглядит следующим образом:
5 # this is the number of atoms
C 0.53424883 1.46721985 -0.02620215
H 0.89090326 0.45840985 -0.02620215
H 0.89092167 1.97161804 0.84744935
H 0.89092167 1.97161804 -0.89985366
H -0.53575117 1.46723303 -0.02620215
Я написал что-то вроде ниже, и это работает, но это почти глупо
#!/bin/bash
for file_name in *.gjf; do
grep '[0-9]\.[0-9][0-9]' $file_name | cat > tmp
cp tmp tmp2
wc -l < tmp > ${file_name%.*}.xyz
echo "" >> ${file_name%.*}.xyz
cat tmp2 >> ${file_name%.*}.xyz
rm tmp tmp2
done
Это тоже хорошо, но не всегда!
#!/bin/bash
for file_name in *.gjf; do
tail -1 $file_name > ${file_name%.*}.xyz
echo"" >> ${file_name%.*}.xyz
grep '[0-9]\.[0-9][0-9]' $file_name >> ${file_name%.*}.xyz
done