#!/bin/bash
s='"1"|"Text"|"a"
"2"|""Text in quotes""|"ab"
"3"|"Text "around" quotes"|"abc"
"4"|""Text `in` quotes""|"ab"
'
perl -pe 's/(?:^|\|)(")?\K(.*?)(?=\1(?:$|\|))/$2=~s#"|(`)#`$1#gr/ge' <<< "$s"
