Hi
The only diferrence between both records is one is in spanish and the second is in english.
This is a library catalogue with references to BOOKS, so some books exists in several languages.
So if we take my exemple:
000000008 650 L $$aGeneral y miscelánea;4001
000000008 650 L $$aGeneral and miscellaneus;4001
Am other exemple (other record)
000000038 650 L $$aQu�*mica1; 4007
000000038 650 L $$aChemistry1; 4007
So I need to replace all the code after the ;
I have the correspondance for all the codes.
---------- Post updated at 06:29 AM ---------- Previous update was at 06:14 AM ----------
Hi
sorry
to be more clear, maybe I should explain the issue from the begining... 
The file is a list of bib records like this:
000000001 LDR L ^^^^^nam^^2200325Iia^45e0
000000001 022 L $$a0081-3397
000000001 041 L $$aspa
000000001 088 L $$aJ.E.N. 551
000000001 090 L $$aINFORMES JEN
000000001 650 L $$a59000;4001
000000001 FMT L BK
As you see, LDR and FMT are the start and end of each record.
AS you see, there is a field 650 with some values.
So the objective is to replace the value in each record...by its correspondence (a string as Quimica....etc) in spanish and english.
Some of this records have fields 650 with only one value, but others have 2 values.
The results for the exemple will be:
000000001 LDR L ^^^^^nam^^2200325Iia^45e0
000000001 022 L $$a0081-3397
000000001 041 L $$aspa
000000001 088 L $$aJ.E.N. 551
000000001 090 L $$aINFORMES JEN
000000001 650 L $$aFraseUno;FraseDos
000000001 650 L $$aStringOne;StringTwo
000000001 FMT L BK
This code is ok if you have only one value:
sed -i '/[0-9]\{9\} 650 L $$a55[0-9]\{4\}/{G;s/^\(.* $$a\)[0-9]\{5\}\(.*\)\(\n\)$/\1Ciencias biom�dicas, Estudios b�sicos\2\3\1Biomedical sciences, Basic studies\2/g}' file.dat
But if I have 2 values...it do not works.
Thanks in advance