|
|
|
|
Bonjour,
je doit faire modifier un script shell pour du remplacement de texte mais je n arrives pas a placer mon \n dans mon sed et je suis oblige de paser par un tr.
exemple 1
cat $1 | tr "\f" "@" | sed "s,@,#1 #,g" | tr "#" "\n"
for NUM in $LIGNES do sed "$(( NUM + 11)) s/.*/&#/" $TEMP | sed "$(( NUM + 17)) s/.*/&#/" > $TEMP2 mv $TEMP2 $TEMP done cat $TEMP | tr "#" "\n" > $TEMP2
Répondre à jipicy
|
Répondre à jipicy
|
Quelle version de 'sed' ?
jp@MDK:~/tmpfs ssh$ cat plop C H U AMIENS 800000044 26800014800018 77 1 603702 LONGS SEJOURS ST VICTOR 800006264 1 PLA VICTOR PAUCHET POUR TOUT RENSEIGNEMENT C 23/10/2009 80054 AMIENS CETTE FACTURE MERCI DE VO H 6054 MR X DE 8H A 16H AU 03.22 1 X 2009 YOLANDE 18/04/1926 TRESORERIE CENTRE ST VICTOR 8 RUE EMILE LESOT 80054 AMIENS 80039 AMIENS 859968605/016 001590726 FICHAUX YOLANDE 10 UDAF FICHAUX YOLANDE 21-23 RUE FREDERIC PETIT 226046748245607 018012146 80048 AMIENS CEDEX 1 jp@MDK:~/tmpfs ssh$ cat fich.sed n n n s/.* // n s/.* // n s/\([^ ]*.[^ ] *\).* \(.*\)/\1\2/ :z n /^$/ !b z :y n /^$/ b y n s/.*/\n&/ :w n $ !b w jp@MDK:~/tmpfs ssh$ sed -f fich.sed plop C H U AMIENS 800000044 26800014800018 77 1 603702 LONGS SEJOURS ST VICTOR 800006264 23/10/2009 6054 MR X 1 X 2009 YOLANDE 18/04/1926 TRESORERIE CENTRE ST VICTOR 8 RUE EMILE LESOT 80054 AMIENS 80039 AMIENS 859968605/016 001590726 FICHAUX YOLANDE 10 UDAF FICHAUX YOLANDE 21-23 RUE FREDERIC PETIT 226046748245607 018012146 80048 AMIENS CEDEX 1 jp@MDK:~/tmpfs ssh$;-)) $ man woman Il n'y a pas de page de manuel pour woman.
|
Sinon pour tes "Form Feed", essaie ça :
jp@MDK:~/tmpfs ssh$ cat -A toto Bonjour ^L$ jp@MDK:~/tmpfs ssh$ sed 's/'$(echo "\x0C")'/'$(echo "\x0A")'/' toto Bonjour jp@MDK:~/tmpfs ssh$ sed 's/'$(echo "\x0C")'/'$(echo "\x0A")'/' toto | cat -A Bonjour $ $ jp@MDK:~/tmpfs ssh$;-)) $ man woman Il n'y a pas de page de manuel pour woman. |