Bonjour,
J'ai un fichier de ce type
OBX|1|TX|G~TESTS~L||RENSEIGNEMENTS CLINIQUES~~<test>~~~~EXAMEN MACROSCOPIQUE~~~~~~EXAMEN MICROSCOPIQUE~~~~~~CONCLUSION~~~~test~~Signé électroniquement le 01/09/2016 07:34 par ~~~~||||||F||
A||20160901073411||123456789531453135~test&test&&&&&~A~~~A~&&&&&France&&&|
OBX|2|FIC|G~XX XX~L||\\toto\d$\XX\yyy\P16000023.pdf||||||F|||20160901073411||123456789531453135~test&test&&&&&~A~~~A~&&&&&France&&&|
L|1||1|8
et je voudrais remplacer la chaine \\toto\d$\XX\yyy\P16000023.pdf par P16000023.pdf.

J'ai essayé toute sorte de combinaison de sed et de awk mais sans succès : dernière en date ci-dessous.
Extraction du path, extraction du chemin et remplacement de l'un avec l'autre mais cela n'a aucun effet sur mon fichier

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
   awk  -F '|' '{ if ($3=="FIC")  print $5 }' $fic  > path.txt
   cat   path.txt > $CHEMIN
   sed -e 's/.*\\//' path.txt > $FILE
   sed  "s£'$CHEMIN'£'$FILE'£" $fic > resultat.txt
Les variables CHEMIN et FILE contiennent bien le chemin absolu et le nom du fichier.

Une idée?
Merci.