I decided to do a PSV to CSV longhand for fun:-
#!/bin/bash --posix
# Done longhand to show that the default shell can convert.
# Your example 'PSV' file...
text="aadsa=1|dasdsa=adsada-4096|wedewq=sdsadasasdsa|wqewqe=weww-sadasd\
|C2S=004120F1707E4928|DOI=1225906924|DOE=1226511724|ISS=1|NUM=28036|CM\
T=chassis52license|LSP=22000|LSH=22000|LSG=11000|LSL=11000|LSC=10000|L\
EC=1000|LGT=11000|LSA=22000|FIS=Y|FR4=Y|FPP=Y|FTC=Y|FMG=Y|FCR=Y|FSR=Y|\
FPM=Y|FID=Y|FI6=Y|FLI=Y|FPF=Y|FFA=Y|FCA=Y|FUT=Y|FSS=Y|FDB=Y|FDA=Y|FTM=\
Y|FDU=Y|FTP=Y|FTA=Y|FFP=Y|FSA=Y|LIM=19100|LCC=19100|LPC=100|LIS=100|FD\
R=Y|BME=Y|qwewqe=Y|BSC=Y|FRC=Y|FMN=Y|FBM=Y|FDC=Y|FGR=Y|FAA=Y|FRF=Y|FDQ=Y|\
FEL=Y|FIN=Y|qeqweqw=Y|BKO=Y|BEP=Y|FIP=Y|FRO=Y|LSI=11000|LSR=11000|LSS=1100\
0|LSN=11000|qwewqe=Y|LSW=21000|FCC=Y|FCP=Y|LCF=1000|LPP=1000|FVM=Y|FVG=Y|\
FPD=Y|FPR=Y|FVA=Y|FES=Y|FSN=Y|FCD=Y|LSF=1000|FVI=Y|FON=Y|FLS=Y|FSG=Y|F\
qweqe=Y|qwewq=Y|wwqe=Y|adsa=Y|FPC=Y|asdasd=Y|ads=asdad/adaddadas+AU\
aasdasd/qweqwe"
echo -n "$text" > /tmp/psvfile
# Note the line separaters '\' are GONE!
# Now re-use the 'text' variable.
text=$(cat < /tmp/psvfile)
echo "$text"
# Get length of file.
file_len="${#text}"
echo "$file_len"
# Quick visual check to see if files are identical.
echo "$text"
csvtext=""
comma=","
# Ensure file_len offset does not over flow...
file_len=$[ ( file_len -1 ) ]
for n in $( seq 0 1 $file_len )
do
if [ "${text:n:1}" == "|" ]
then newtext=$newtext$comma
else newtext=$newtext${text:n:1}
fi
done
echo "$newtext"
echo -n "$newtext" > /tmp/csvfile
cat < /tmp/csvfile
echo -e "\n\nYou now have a CSV file.\n"
# Done!
And the results:-
Last login: Sat Oct 19 11:17:54 on ttys000
AMIGA:barrywalker~> ./psv_csv.sh
aadsa=1|dasdsa=adsada-4096|wedewq=sdsadasasdsa|wqewqe=weww-sadasd|C2S=004120F1707E4928|DOI=1225906924|DOE=1226511724|ISS=1|NUM=28036|CMT=chassis52license|LSP=22000|LSH=22000|LSG=11000|LSL=11000|LSC=10000|LEC=1000|LGT=11000|LSA=22000|FIS=Y|FR4=Y|FPP=Y|FTC=Y|FMG=Y|FCR=Y|FSR=Y|FPM=Y|FID=Y|FI6=Y|FLI=Y|FPF=Y|FFA=Y|FCA=Y|FUT=Y|FSS=Y|FDB=Y|FDA=Y|FTM=Y|FDU=Y|FTP=Y|FTA=Y|FFP=Y|FSA=Y|LIM=19100|LCC=19100|LPC=100|LIS=100|FDR=Y|BME=Y|qwewqe=Y|BSC=Y|FRC=Y|FMN=Y|FBM=Y|FDC=Y|FGR=Y|FAA=Y|FRF=Y|FDQ=Y|FEL=Y|FIN=Y|qeqweqw=Y|BKO=Y|BEP=Y|FIP=Y|FRO=Y|LSI=11000|LSR=11000|LSS=11000|LSN=11000|qwewqe=Y|LSW=21000|FCC=Y|FCP=Y|LCF=1000|LPP=1000|FVM=Y|FVG=Y|FPD=Y|FPR=Y|FVA=Y|FES=Y|FSN=Y|FCD=Y|LSF=1000|FVI=Y|FON=Y|FLS=Y|FSG=Y|Fqweqe=Y|qwewq=Y|wwqe=Y|adsa=Y|FPC=Y|asdasd=Y|ads=asdad/adaddadas+AUaasdasd/qweqwe
786
aadsa=1|dasdsa=adsada-4096|wedewq=sdsadasasdsa|wqewqe=weww-sadasd|C2S=004120F1707E4928|DOI=1225906924|DOE=1226511724|ISS=1|NUM=28036|CMT=chassis52license|LSP=22000|LSH=22000|LSG=11000|LSL=11000|LSC=10000|LEC=1000|LGT=11000|LSA=22000|FIS=Y|FR4=Y|FPP=Y|FTC=Y|FMG=Y|FCR=Y|FSR=Y|FPM=Y|FID=Y|FI6=Y|FLI=Y|FPF=Y|FFA=Y|FCA=Y|FUT=Y|FSS=Y|FDB=Y|FDA=Y|FTM=Y|FDU=Y|FTP=Y|FTA=Y|FFP=Y|FSA=Y|LIM=19100|LCC=19100|LPC=100|LIS=100|FDR=Y|BME=Y|qwewqe=Y|BSC=Y|FRC=Y|FMN=Y|FBM=Y|FDC=Y|FGR=Y|FAA=Y|FRF=Y|FDQ=Y|FEL=Y|FIN=Y|qeqweqw=Y|BKO=Y|BEP=Y|FIP=Y|FRO=Y|LSI=11000|LSR=11000|LSS=11000|LSN=11000|qwewqe=Y|LSW=21000|FCC=Y|FCP=Y|LCF=1000|LPP=1000|FVM=Y|FVG=Y|FPD=Y|FPR=Y|FVA=Y|FES=Y|FSN=Y|FCD=Y|LSF=1000|FVI=Y|FON=Y|FLS=Y|FSG=Y|Fqweqe=Y|qwewq=Y|wwqe=Y|adsa=Y|FPC=Y|asdasd=Y|ads=asdad/adaddadas+AUaasdasd/qweqwe
aadsa=1,dasdsa=adsada-4096,wedewq=sdsadasasdsa,wqewqe=weww-sadasd,C2S=004120F1707E4928,DOI=1225906924,DOE=1226511724,ISS=1,NUM=28036,CMT=chassis52license,LSP=22000,LSH=22000,LSG=11000,LSL=11000,LSC=10000,LEC=1000,LGT=11000,LSA=22000,FIS=Y,FR4=Y,FPP=Y,FTC=Y,FMG=Y,FCR=Y,FSR=Y,FPM=Y,FID=Y,FI6=Y,FLI=Y,FPF=Y,FFA=Y,FCA=Y,FUT=Y,FSS=Y,FDB=Y,FDA=Y,FTM=Y,FDU=Y,FTP=Y,FTA=Y,FFP=Y,FSA=Y,LIM=19100,LCC=19100,LPC=100,LIS=100,FDR=Y,BME=Y,qwewqe=Y,BSC=Y,FRC=Y,FMN=Y,FBM=Y,FDC=Y,FGR=Y,FAA=Y,FRF=Y,FDQ=Y,FEL=Y,FIN=Y,qeqweqw=Y,BKO=Y,BEP=Y,FIP=Y,FRO=Y,LSI=11000,LSR=11000,LSS=11000,LSN=11000,qwewqe=Y,LSW=21000,FCC=Y,FCP=Y,LCF=1000,LPP=1000,FVM=Y,FVG=Y,FPD=Y,FPR=Y,FVA=Y,FES=Y,FSN=Y,FCD=Y,LSF=1000,FVI=Y,FON=Y,FLS=Y,FSG=Y,Fqweqe=Y,qwewq=Y,wwqe=Y,adsa=Y,FPC=Y,asdasd=Y,ads=asdad/adaddadas+AUaasdasd/qweqwe
aadsa=1,dasdsa=adsada-4096,wedewq=sdsadasasdsa,wqewqe=weww-sadasd,C2S=004120F1707E4928,DOI=1225906924,DOE=1226511724,ISS=1,NUM=28036,CMT=chassis52license,LSP=22000,LSH=22000,LSG=11000,LSL=11000,LSC=10000,LEC=1000,LGT=11000,LSA=22000,FIS=Y,FR4=Y,FPP=Y,FTC=Y,FMG=Y,FCR=Y,FSR=Y,FPM=Y,FID=Y,FI6=Y,FLI=Y,FPF=Y,FFA=Y,FCA=Y,FUT=Y,FSS=Y,FDB=Y,FDA=Y,FTM=Y,FDU=Y,FTP=Y,FTA=Y,FFP=Y,FSA=Y,LIM=19100,LCC=19100,LPC=100,LIS=100,FDR=Y,BME=Y,qwewqe=Y,BSC=Y,FRC=Y,FMN=Y,FBM=Y,FDC=Y,FGR=Y,FAA=Y,FRF=Y,FDQ=Y,FEL=Y,FIN=Y,qeqweqw=Y,BKO=Y,BEP=Y,FIP=Y,FRO=Y,LSI=11000,LSR=11000,LSS=11000,LSN=11000,qwewqe=Y,LSW=21000,FCC=Y,FCP=Y,LCF=1000,LPP=1000,FVM=Y,FVG=Y,FPD=Y,FPR=Y,FVA=Y,FES=Y,FSN=Y,FCD=Y,LSF=1000,FVI=Y,FON=Y,FLS=Y,FSG=Y,Fqweqe=Y,qwewq=Y,wwqe=Y,adsa=Y,FPC=Y,asdasd=Y,ads=asdad/adaddadas+AUaasdasd/qweqwe
You now have a CSV file.
AMIGA:barrywalker~> _