I'd like to know whether below shell script can be simplified further by using a loop
#!/bin/bash
a11=`cat CONTCAR | head -5 | tail -3 | head -1 | awk '{print $1}'`
a12=`cat CONTCAR | head -5 | tail -3 | head -1 | awk '{print $2}'`
a13=`cat CONTCAR | head -5 | tail -3 | head -1 | awk '{print $3}'`
b21=`cat CONTCAR | head -5 | tail -3 | head -2 | awk '{print $1}'`
b22=`cat CONTCAR | head -5 | tail -3 | head -2 | awk '{print $2}'`
b23=`cat CONTCAR | head -5 | tail -3 | head -2 | awk '{print $3}'`
c31=`cat CONTCAR | head -5 | tail -3 | head -3 | awk '{print $1}'`
c32=`cat CONTCAR | head -5 | tail -3 | head -3 | awk '{print $2}'`
c33=`cat CONTCAR | head -5 | tail -3 | head -3 | awk '{print $3}'`
CONTCAR) and expected output and someone will show you how to do it much simpler and without a loop. Also read why-is-using-a-shell-loop-to-process-text-considered-bad-practicecat CONTCAR | head -5 | tail -3 | head -1 | awk '{print $1}'is exactly equivalent toawk 'NR==3{print $1}' CONTCAR