Skip to content

Commit 5c879e5

Browse files
committed
- bash scripts in /tools/ now generate random file names to avoid conflict with possibly existing files, e.g. when the same script is executed several times simultaneously.
1 parent 08ace2d commit 5c879e5

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

tools/dat_mulvec.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@ else
2424
do
2525
printf ">>> Multiplying vectors by $factor in $f ..."
2626
if [ -e $f ]; then
27-
awk -v fac=$factor '{print $1 " " $2 " " $3 " " fac*$4 " " fac*$5 " " fac*$6}' $f >>/tmp/temp.dat
28-
mv -f /tmp/temp.dat $f
27+
# Generate random file name
28+
of="$(mktemp ./XXXXXXXX.tmp)"
29+
awk -v fac=$factor '{print $1 " " $2 " " $3 " " fac*$4 " " fac*$5 " " fac*$6}' $f >> ${of}
30+
mv -f ${of} $f
2931
printf " Done.\n"
3032
else
3133
printf " File doesn't exist, skipping.\n"

tools/dat_rm0.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,10 @@ else
1717
do
1818
printf ">>> Removing lines with zero vectors in $f ..."
1919
if [ -e $f ]; then
20-
awk '{if($4!=0.0 && $5!=0.0 && $6!=0.0) print $0 }' $f >>/tmp/temp.dat
21-
mv -f /tmp/temp.dat $f
20+
# Generate random file name
21+
of="$(mktemp ./XXXXXXXX.tmp)"
22+
awk '{if($4!=0.0 && $5!=0.0 && $6!=0.0) print $0 }' $f >> ${of}
23+
mv -f ${of} $f
2224
printf " Done.\n"
2325
else
2426
printf " File doesn't exist, skipping.\n"

tools/lmp_atom2charge.sh

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,21 @@ else
2323
#Check that it is a LAMMPS file
2424
islmp=$(grep "atom types" $f | wc -l)
2525
if [ $islmp = 1 ]; then
26+
# Generate random file name
27+
of="$(mktemp ./XXXXXXXX.tmp)"
2628
# If the keyword "Atoms" is not followed by "# charge", add it
2729
atomic=$(grep "Atoms" $f | grep "charge" | wc -l)
2830
if [ $atomic = 0 ]; then
2931
sed -i '/Atoms/ c\Atoms # charge' $f
3032
fi
31-
# Add a column of zero after column 2
32-
awk '{if(NR>9 && NF>4 && $1>0 && $2>0)
33+
nrAtom=$(awk '/^Atom/{print NR}' $f)
34+
# Add a column of zero after keyword "Atom"
35+
awk -v n="${nrAtom}" '{if(NR>n && NF>4 && $1>0 && $2>0)
3336
{print $1 "\t" $2 "\t0.0\t" $(NF-2) "\t" $(NF-1) "\t" $NF}
3437
else
3538
{print}
36-
}' $f >/tmp/temp.lmp
37-
mv -f /tmp/temp.lmp $f
39+
}' $f > ${of}
40+
mv -f ${of} $f
3841
printf " Done.\n"
3942
else
4043
printf " Not a LAMMPS data file, skipping.\n"

tools/lmp_charge2atom.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ else
2222
#Check that it is a LAMMPS file
2323
islmp=$(grep "atom types" $f | wc -l)
2424
if [ $islmp = 1 ]; then
25+
# Generate random file name
26+
of="$(mktemp ./XXXXXXXX.tmp)"
2527
# If the keyword "Atoms" is not followed by "# atomic" add it
2628
charge=$(grep "Atoms" $f | grep "atomic" | wc -l)
2729
if [ $charge = 0 ]; then
@@ -32,8 +34,8 @@ else
3234
{print $1 "\t" $2 "\t" $(NF-2) "\t" $(NF-1) "\t" $NF}
3335
else
3436
{print}
35-
}' $f >/tmp/temp.lmp
36-
mv -f /tmp/temp.lmp $f
37+
}' $f > ${of}
38+
mv -f ${of} $f
3739
printf " Done.\n"
3840
else
3941
printf " Not a LAMMPS data file, skipping.\n"

0 commit comments

Comments
 (0)