Вы можете сделать это разными способами, некоторые из них показаны ниже:
С помощью редактора sed
вы можете сделать это следующим образом (предполагая, что записи имеют сбалансированные двойные кавычки )и я показываю \t
для символа TAB
, возможно, вам придется использовать литерал TAB
вместо этого, если ваш sed
равен POSIX
. И я конвертирую все TABs
, которые находятся внутри двойных кавычек, чтобы изменить их на символ %
, YMMV. Окраины TABs
не тронуты.
$ sed -e '
/\n/!y/"/\n/
/\n/{
s//"/;s//"/
:loop
s/\(".*\)\t\(.*"\)/\1%\2/
tloop
/\n/!b
H;s/.*//;x;D
}
' input.file
Использование Perl
немного упрощает дело:
$ perl -lpe 's/(?<=")(.*?)(?=")/$1 =~ y[\t][%]r/eg' input.file
ХТХ