We could use the bash code below, then a plot from GNU plot will be implemented. This script is written by my tutor Prof. Yang, welcome to find bugs in this script!
Convert .edi to .ztab file
#!/bin/bash
if [ $# -ne 1 ] && [ $# -ne 2 ] && [ $# -ne 3 ]; then
echo "edi2ztab.sh - A tool for converting MT data in EDI format to table format."
echo " - Usage: edi2ztab.sh file.edi [notipper] [file.ztab] "
echo " - See also: edi2asc.sh"
echo ''
echo ' - Example: convert without tipper: edi2ztab.sh file.edi 0 file.ztab'
echo ' convert with tipper: edi2ztab.sh file.edi [1] [file.ztab]'
echo ''
echo ' - Dependences: gawk, readplt, cat, octave'
echo ' - Written by Bo Yang, ZJU, 2018-08-29.'
echo ' - Last modified: 2022-04-06 19:41:19.'
echo ' - Change log:'
echo ' * 2021-03-21: BUG Fixed: no tipper variance output!'
echo ' * 2021-10-06: ADD: supports for skipping tippers!'
exit
fi
edi=$1
bTipper=1
f1=`echo ${
edi%.*}`
f=`echo ${
f1##*/}`
asc=$f.ztab
# get the cmd line option.
if [ $# -eq 2 ]; then
bTipper=$2
fi
if [ $# -eq 3 ]; then
asc=$3
fi
#
# get the data for each keyword.
#
#kwlist="FREQ RHOXX RHOXY RHOYX RHOYY PHSXX PHSXY PHSYX PHSYY RHOXX.VAR RHOXY.VAR RHOYX.VAR RHOYY.VAR PHSXX.VAR PHSXY.VAR PHSYX.VAR PHSYY.VAR ZXXR ZXYR ZYXR ZYYR ZXXI ZXYI ZYXI ZYYI ZXX.VAR ZXY.VAR ZYX.VAR ZYY.VAR"
if [ $bTipper -gt 0 ];then
kwlist="FREQ ZXXR ZXYR ZYXR ZYYR ZXXI ZXYI ZYXI ZYYI ZXX.VAR ZXY.VAR ZYX.VAR ZYY.VAR TXR.EXP TXI.EXP TYR.EXP TYI.EXP TXVAR.EXP TYVAR.EXP"
else
kwlist="FREQ ZXXR ZXYR ZYXR ZYYR ZXXI ZXYI ZYXI ZYYI ZXX.VAR ZXY.VAR ZYX.VAR ZYY.VAR"
fi
#
kc=0
cat /dev/null > temp.txt
for kw in $kwlist
do
#echo $kw
readedi $edi ">"$kw | gawk '{a[FNR]=$1}END{for(i=1;i<=FNR;i++){printf "%e ",a[i]};printf "\n"}' >> temp.txt
done
gawk '{for(i=1;i<=NF;i++){a[FNR,i]=$i}}END{for(i=1;i<=NF;i++){for(j=1;j<=FNR;j++){printf a[j,i]"