Pages : 1
#1 Le 09/04/2022, à 14:15
- ar barzh paour
[Résolu] awk me met le bazar
bonjour (j'essaie de ne pas oublier !!)
Résolu en installant gawk
d'après le post ~8 , ce serait l'utilisation de la fonction substr que je fais qui me met le bazar
en 20.04 je n'ai pas de souci mais en 22.04 si
je modifie le titre dans ce sens
ça se complique!!
je viens de transférer mon application sur mon portable qui est aussi en 20.04
et j'obtiens le même phénomène
ce n'est donc pas 22.04 qui est en cause mais quoi?
le problème se pose alors comme ça :
pourquoi dans le résultat est-il correct sur mon PC et pas sur mon portable
je re-modifie le titre
passez directement au post #8
je n'arrive pas à savoir pourquoi j'ai une différence de résultat entre 20.04 et 22.04
et galère pour arriver à expliquer ce qui se passe .. j'ai une application qui me génère le fichier suivant
=============================================================
recherche dans le dictionnaire : e 0 CONT FALSE dico
paramètres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramètres reçus
fichier de recherche :
/media/Data/brezhoneg/DIC/source/dico.csvcontenant =>[eéêèëεə]<= dans la ligne
Bre(1);où(2);fra(3);type(4);plu_rad(5);pl](6);ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7);syn(8);g9;exemple(10);Classement(11);Accent(12);Remarque(13)
e;a;à;é;ñ;è;
fin de recherche ./SH_n_cont
ce fichier est remis en forme via un script awk
et c'est à partir de ce script que j'ai des ennuis
en 20.04
j'obtiens
=============================================================
1 recherche dans le dictionnaire : e 0 CONT FALSE dico
2 paramètres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramètres reçus
3 fichier de recherche :
4 /media/Data/brezhoneg/DIC/source/dico.csv
5
6
7 contenant =>[eéêèëεə]<= dans la ligne
8
Bre(1) où(2) fra(3) type( plu_rad(5) pl](6) ãɑ€ʁəỹũĩõɔęεẽγʒ syn(8) g9
4) ɥʃñɲŋλ(7)
10 exemple(10)
12 Accent(12)
13 Remarque(13)e a à é ñ è
11 fin de recherche ./SH_n_cont
fin de recherche-dans-dico
mais en 22.04 j'obtiens
1 =============================================================
2 recherche dans le dictionnaire : e 0 CONT FALSE dico
3 paramÚtres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramÚtres reçus
4 fichier de recherche :
5 /media/Data/brezhoneg/DIC/source/dico.csv
6
7
8 contenant =>[eéêÚëεÉ]<= dans la ligneBre(1) où(2) fra(3) type( plu_rad(5) pl](6) ãÉâ¬ÊÉỹŠsyn(8) g9
4) ©Ä©ÃµÉÄεẜγÊÉ¥ÊñɲÅλ(7)
10 exemple(10)
12 Accent(12)
13 Remarque(13)e a à é ñ Ú
11 fin de recherche ./SH_n_cont
fin de recherche-dans-dico
déjà pourquoi cette différence ?
ensuite ce fichier est affiché via zenity
en 20.04 pas de souci
mais en 22.04
l'affichage est le suivant
2022-04-09:12-06-53
recherche de <e> en position CONT1 =============================================================
2 recherche dans le dictionnaire : e 0 CONT FALSE dico
3 paramètres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramètres reçus
4 fichier de recherche :
5 /media/Data/brezhoneg/DIC/source/dico.csv
6
7
8 contenant =>[eéêèëεə]<= dans la ligneBre(1) où(2) fra(3) type( plu_rad(5) pl](6) ãɑ€ʁəỹ
deux remarques
1-
"paramètres" en 22.04 est transformé en "paramÚtres" mais est bien affiché par zenity "paramètres"
2-
certains caractères [eéêèëεə] sont transformés en [eéêÚëεÉ]] mais ne gènent pas zenity [eéêèëεə]
par contre au moins un caractère pose problème et plante zenity qui affiche bien ãɑ€ʁəỹ mais pas la suite
une piste ?
Dernière modification par ar barzh paour (Le 12/04/2022, à 15:32)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#2 Le 09/04/2022, à 14:19
- diesel
Re : [Résolu] awk me met le bazar
A vue de nez, tu as un problème de "locales".
Amicalement.
Jean-Marie
Je déteste qu'on cherche à me faire passer pour un con, j'y arrive déjà très bien tout seul.
Le mort, il sait pas qu'il est mort ; c'est pour les autres que c'est dur.................... Pour les cons, c'est pareil.
Hors ligne
#3 Le 09/04/2022, à 14:20
- ar barzh paour
Re : [Résolu] awk me met le bazar
en remarque je mets le script utilisé
#! /bin/awk
#l'appel se fait par SH_rech_dico
#awk -f formatdico.awk "fic1" > "fic2"
# prend source formaté : xx;yy;zz;tt;....;xxx)
#bre;où(2);fra(3);type(4);plu_rad(5);pl](6);pron(7);syn(8);m],f](9);exemple(10);class(11);accent(12);rem (13)
#23 ; 7 ; 25 ; 5 ; 10 ; 17 ; 10 ; 10 ; 5 ; 4
function calcul_c1_c2 (mot , L_Max) {
# renvoi ch1;ch2 tels que ch1<=L_Max
# si "mot" est coupé, deux est positionné à "true"
reste=""
sub(" ,",",",mot) # supprime l'espace devant une virgule
pos=index(mot,",") # recherche la première virgule
if (pos==0) { # PD XVI , dkl
pos=length(mot) # pos2 : 8
}
c1=substr(mot,1,pos) # PD XVI ,
c2=substr(mot,pos+1,255) # dkl
sub("^ ","",c2) # dkl ( supprime l'espace de début )
# c1 c2
# .......,............
# traitement de c1
if (length(c1)<=L_Max) {
ch[1]=c1 # PD XVI
reste=""
}
else {
ch[1]=substr(c1,1,L_Max)
reste=substr(c1,1+L_Max,length(c1))
sub("^ ","",reste)
sub("^,","",reste)
sub("^ ","",reste)
}
# traitement de c2
if (c2=="") {
ch[2]=reste
}
else {
if (reste=="")
ch[2]=c2
else
ch[2]=reste c2
}
if (ch[2]!="") {
deux="true" #paramètre global modifié
}
return ch[1]";"ch[2] # pas le droit de renvoyer ch ?
}
BEGIN {
FS=";"
L1=23
L2=10
L3=25
L4=5
L5=12
L6=17
L7=15
L8=17
L9=5
L=L1+L2+L3+L4+L5+L7+L8+L9
marge=4
print
}
{
deux="false"
if ( NF < 2 ) {
# imprime tel quel les lignes non formatées x;x;x;x;x;x;
print NR , " ", $0
}
else {
if (length($1)>L1) {
ch11=substr($1,1,L1)
ch21=substr($1,1+L1,L1)
deux="true"
}
else {
ch11=$1
ch21=""
}
split(calcul_c1_c2($2,L2),tab,";")
ch12=tab[1]
ch22=tab[2]
split(calcul_c1_c2($3,L3),tab,";")
ch13=tab[1]
ch23=tab[2]
if (length($4)>L4) {
ch14=substr($4,1,L4)
ch24=substr($4,1+L4,L4)
deux="true"
}
else {
ch14=$4
ch24=""
}
if (length($5)>L5) {
ch15=substr($5,1,L5)
ch25=substr($5,1+L5,L5)
deux="true"
}
else {
ch15=$5
ch25=""
}
if (length($6)>L6) {
ch16=substr($6,1,L6)
ch26=substr($6,1+L6,L6)
deux="true"
}
else {
ch16=$6
ch26=""
}
split(calcul_c1_c2($7,L7),tab,";")
ch17=tab[1]
ch27=tab[2]
if (length($8)>L8) {
ch18=substr($8,1,L8)
ch28=substr($8,1+L8,L8)
deux="true"
}
else {
ch18=$8
ch28=""
}
if (length($9)>L9) {
ch19=substr($9,1,L9)
ch29=substr($9,1+L9,L9)
deux="true"
}
else {
ch19=$9
ch29=""
}
printf ("\n%-"L1"s %-"L2"s %-"L3"s %-"L4"s %-"L5"s %-"L6"s %-"L7"s %-"L8"s %-"L9"s",ch11,ch12,ch13,ch14,ch15,ch16,ch17,ch18,ch19)
if (deux == "true") {
printf ("\n%-"L1"s %-"L2"s %-"L3"s %-"L4"s %-"L5"s %-"L6"s %-"L7"s %-"L8"s %-"L9"s",ch21,ch22,ch23,ch24,ch25,ch26,ch27,ch28,ch29)
}
if ( $10 !~ "^$" )
{
if (length($10)<L) {
printf ("\n10 %-"marge"s%s","",$10)
}
else {
# (il faudrait chercher où couper)
printf ("\n10 %-"marge"s%s","",substr($10,1,L))
printf ("\n %-"marge"s%s","",substr($10,L+1,L))
}
}
if ( $12 !~ "^$" )
{
if (length($12)<L) {
printf ("\n12 %-"marge"s%s","",$12)
}
else {
# (il faudrait chercher où couper)
printf ("\n12 %-"marge"s%s","",substr($12,1,L))
printf ("\n %-"marge"s%s","",substr($12,L+1,L))
}
}
if ( $13 !~ "^$" )
{
if (length($13)<L) {
printf ("\n13 %-"marge"s%s","",$13)
}
else {
# (il faudrait chercher où couper)
printf ("\n13 %-"marge"s%s","",substr($13,1,L))
printf ("\n %-"marge"s%s","",substr($13,L+1,L))
}
}
printf ("\n")
}
}
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#4 Le 09/04/2022, à 14:22
- ar barzh paour
Re : [Résolu] awk me met le bazar
@diesel
ah les locales , j'ai déjà vu ça quelque part !!!!
mais 20.04=22.04
jpb@U22-04:~$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
jpb@U22-04:~$
jpb@U20-04-e3:~$ locale
LANG=fr_FR.UTF-8
LANGUAGE=
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=
jpb@U20-04-e3:~$
Dernière modification par ar barzh paour (Le 09/04/2022, à 14:36)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#5 Le 10/04/2022, à 09:05
- ar barzh paour
Re : [Résolu] awk me met le bazar
awk -f formatdico.awk <<<"eéêèëεə"
1 eéêèëεə
awk -f formatdico.awk <<<"ãɑ€ʁəỹũĩõɔęεẽγʒ"
1 ãɑ€ʁəỹũĩõɔęεẽγʒ
est correct
mais si je modifie l'entrée , le premier champ dépassant une certaine valeur, il est coupé et cela génère une anomalie en 22.04
awk -f formatdico.awk <<<"ãɑ€ʁəỹũĩõɔęεẽγʒ;;;"
ãɑ€ʁəỹũĩõɔ
εẽγʒ
je suis un peu perdu ...
il faut que je vois pourquoi le fichier intermédiaire contient des caractères eéêÚëεÉ] etc
mais en 22.04 j'obtiens
1 =============================================================
2 recherche dans le dictionnaire : e 0 CONT FALSE dico
3 paramÚtres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramÚtres reçus
4 fichier de recherche :
5 /media/Data/brezhoneg/DIC/source/dico.csv
6
7
8 contenant =>[eéêÚëεÉ]<= dans la ligne
Bre(1) où(2) fra(3) type( plu_rad(5) pl](6) ãÉâ¬ÊÉỹŠsyn(8) g9
4) ©Ä©ÃµÉÄεẜγÊÉ¥ÊñɲÅλ(7)
10 exemple(10)
12 Accent(12)
13 Remarque(13)
e a à é ñ Ú
11 fin de recherche ./SH_n_cont
fin de recherche-dans-dico
Dernière modification par ar barzh paour (Le 10/04/2022, à 09:11)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#6 Le 10/04/2022, à 09:23
- iznobe
Re : [Résolu] awk me met le bazar
Bonjour ,est ce que le bash est le meme et configuré de la meme maniere pour ce qui est des langues et de l' encodage dans les 2 OS ?
ainsi que le terminal .
Dans mon terminal : preferences => profil sans nom => onglet compatibilité => codage = unicode UTF8 .
Dernière modification par iznobe (Le 10/04/2022, à 09:25)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#7 Le 10/04/2022, à 19:44
- ar barzh paour
Re : [Résolu] awk me met le bazar
@iznobe
pour le bash je ne sais pas
pour le terminal oui ,20.04 et 22.04 unicode-UTF-8
j'essaierai d'investiguer la semaine prochaine ....
Dernière modification par ar barzh paour (Le 10/04/2022, à 19:45)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#8 Le 11/04/2022, à 11:38
- ar barzh paour
Re : [Résolu] awk me met le bazar
hello
je n'arrive pas à faire plus simple (*)
le fichier script formatsimple.awk ci dessous
#! /bin/awk
#uniquement pour test des accents et caractère API
#awk -f formataccent.awk "fic1" > "fic2"
# exemple de caractères API ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7)
# exemple d'accents aàéèï
{
ch11=substr($1,1,5)
print ch11
}
le résultat dans 22.04
jpb@U22-04:/media/SH/DIC$ awk -f formatsimple.awk <<<"ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7)"
ãɑ
jpb@U22-04:/media/SH/DIC$
je devrais avoir comme en 20.04
ãɑ€ʁə
même le à ne passe pas
jpb@U22-04:/media/SH/DIC$ awk -f formatsimple.awk <<<"éèà"
éè
jpb@U22-04:/media/SH/DIC$
on doit pouvoir faire sans passer par un script quelque chose cmme
var="ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7)" ; awk-F";" -v var=$var '{print substr(var1,5)}' mais je n'y arrive pas sans script
Dernière modification par ar barzh paour (Le 11/04/2022, à 16:45)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#9 Le 12/04/2022, à 11:28
- ar barzh paour
Re : [Résolu] awk me met le bazar
sur mon portable , le fichier d'origine suivant
=============================================================
recherche dans le dictionnaire : e 0 CONT FALSE dico
paramètres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramètres reçus
fichier de recherche :
/media/Data/brezhoneg/DIC/source/dico.csv
contenant =>[eéêèëεə]<= dans la ligne
Bre(1);où(2);fra(3);type(4);plu_rad(5);pl](6);ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7);syn(8);g9;exemple(10);Classement(11);Accent(12);Remarque(13)
e;a;à;é;ñ;è;
fin de recherche ./SH_n_cont
est transformé par awk -f formatdico.awk ( voir le contenu du script en #3)
en
1 =============================================================
2 recherche dans le dictionnaire : e 0 CONT FALSE dico
3 paramÚtres recus dans ./SH_n_cont : e 0 FALSE dico fin de paramÚtres reçus
4 fichier de recherche :
5 /media/Data/brezhoneg/DIC/source/dico.csv
6
7
8 contenant =>[eéêÚëεÉ]<= dans la ligne
Bre(1) où(2) fra(3) type( plu_rad(5) pl](6) ãÉâ¬ÊÉỹŠsyn(8) g9
4) ©Ä©ÃµÉÄεẜγÊÉ¥ÊñɲÅλ(7)
10 exemple(10)
12 Accent(12)
13 Remarque(13)
e a à é ñ Ú
11 fin de recherche ./SH_n_cont
fin de recherche-dans-dico
Dernière modification par ar barzh paour (Le 12/04/2022, à 11:29)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#10 Le 12/04/2022, à 12:23
- MicP
Re : [Résolu] awk me met le bazar
Bonjour
Ou alors,
tu pourrais convertir l'UTF-8 en ASCII en utilisant la commande iconv :
michel@ubu20043lts:~$ echo "€eꚫεɩĩõÉεẜγÊɥñɲÅÎãỹũĩõęẽñɲŋ»" | iconv -f utf-8 -t ascii//TRANSLIT
EUReAas<<IuE(C)A(C)AuEIuaooeI3EEJPYA+-E2AIayuioeennn>>
michel@ubu20043lts:~$
Dernière modification par MicP (Le 12/04/2022, à 12:30)
Hors ligne
#11 Le 12/04/2022, à 13:13
- Tawal
Re : [Résolu] awk me met le bazar
Hello,
Peut-être une piste :
$ echo "ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7)" | LANG=fr_FR.UTF-8 awk '{a=substr($1,1,5); print a}'
ãɑ€ʁə
$
$ echo "ãɑ€ʁəỹũĩõɔęεẽγʒɥʃñɲŋλ(7)" | LANG=C awk '{a=substr($1,1,5); print a}'
ãɑ
Edit:
La vision de mon message posté me fait remarquer que pour LANG=C, il y a un caractère non imprimable en plus représenté par "? (en inverse_vidéo)".
Ce qui me fait penser que selon la locale utilisée, les caractères "graphiques" comptent pour 1 ou plusieurs.
Cela vient du fait qu'ils sont codés sur 1,2 ou 3 octets.
Donc, un caractère codé sur 2 octets, avec la LANG=C compte pour 2 et avec la LANG=fr_FR.UTF-8 compte pour 1.
Pour être plus clair :
$ printf "a" | xxd -p -c1
61
$ printf "ã" | xxd -p -c1
c3
a3
$
Du coup on a :
$ echo "ã" | LANG=C awk '{a=substr($1,1,2); print a}'
ã
$ echo "ã" | LANG=fr_FR.UTF-8 awk '{a=substr($1,1,1); print a}'
ã
$
Edit:
Évidemment :
$ echo "ã" | LANG=C awk '{a=substr($1,1,1); print a}'
$
(caractère ? en inverse vidéo, non visible ici)
Dernière modification par Tawal (Le 12/04/2022, à 13:27)
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
#12 Le 12/04/2022, à 13:53
- Watael
Re : [Résolu] awk me met le bazar
salut,
c'est bien les mêmes versions de awk ?
awk -Wv
et si tu appelles explicitement gawk ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#13 Le 12/04/2022, à 14:21
- ar barzh paour
Re : [Résolu] awk me met le bazar
@Watael
effectivement
non
sur mon portable 20.04
jpb@jpb-HP-ProBook-4710s:~$ awk -Wv
mawk 1.3.4 20200120
Copyright 2008-2019,2020, Thomas E. Dickey
Copyright 1991-1996,2014, Michael D. Brennan
random-funcs: srandom/random
regex-funcs: internal
compiled limits:
sprintf buffer 8192
maximum-integer 2147483647
jpb@jpb-HP-ProBook-4710s:~$
je ne sais pas si ça suffit , j'ai remplacé #! /bin/awk par #! /bin gawk dans le script formatdico.awk
mais ça donne le même (mauvais) résultat
sur mon PC en 20.04
jpb@U20-04-e3:~$ awk -Wv
GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.2.0)
Copyright © 1998, 1991-2019 Free Software Foundation.
Ce programme est un logiciel libre ; vous pouvez le redistribuer et le
modifier selon les termes de la licence publique générale GNU (GNU
General Public License), telle que publiée par la Free Software
Foundation ; soit selon la version 3 de cette licence, soit selon une
version ultérieure de votre choix.
Ce logiciel est distribué en espérant qu'il sera utile, mais SANS AUCUNE
GARANTIE, y compris les garanties implicites D'ADAPTATION À UN BUT
SPÉCIFIQUE et de COMMERCIALISATION. Pour plus d'informations à ce
sujet, consultez le texte de la licence publique générale GNU (GNU
General Public License).
Vous devriez avoir reçu copie de la licence publique générale GNU
(GNU General Public License) avec ce programme. Sinon, consultez
http://www.gnu.org/licenses/.
jpb@U20-04-e3:~$
et #! /bin/gawk me donne le même résultat (correct) que #! /bin/awk
et je vais voir ce que ça donne en 22.04
surprise !!! ressemble bigrement à celui de mon portable !!!
jpb@U22-04:~$ awk -Wv
mawk 1.3.4 20200120
Copyright 2008-2019,2020, Thomas E. Dickey
Copyright 1991-1996,2014, Michael D. Brennan
random-funcs: srandom/random
regex-funcs: internal
compiled limits:
sprintf buffer 8192
maximum-integer 2147483647
jpb@U22-04:~$
et comme sur mon portable , la modification de awk en gawk n'améliore pas le résultat
Dernière modification par ar barzh paour (Le 12/04/2022, à 14:39)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#14 Le 12/04/2022, à 15:07
- ar barzh paour
Re : [Résolu] awk me met le bazar
en vérifiant sur mon portable , je vois que gawk n'est pas présent !!!
jpb@jpb-HP-ProBook-4710s:~$ sudo apt install gawk
et maintenant
jpb@jpb-HP-ProBook-4710s:~$ awk -Wv
GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.2.0)
Copyright © 1998, 1991-2019 Free Software Foundation.
Ce programme est un logiciel libre ; vous pouvez le redistribuer et le
modifier selon les termes de la licence publique générale GNU (GNU
General Public License), telle que publiée par la Free Software
Foundation ; soit selon la version 3 de cette licence, soit selon une
version ultérieure de votre choix.
Ce logiciel est distribué en espérant qu'il sera utile, mais SANS AUCUNE
GARANTIE, y compris les garanties implicites D'ADAPTATION À UN BUT
SPÉCIFIQUE et de COMMERCIALISATION. Pour plus d'informations à ce
sujet, consultez le texte de la licence publique générale GNU (GNU
General Public License).
Vous devriez avoir reçu copie de la licence publique générale GNU
(GNU General Public License) avec ce programme. Sinon, consultez
http://www.gnu.org/licenses/.
jpb@jpb-HP-ProBook-4710s:~$
et ça résout le problème ...... sur mon portable , à voir maintenant sur 22.04 , je pense que c'est du même acabit!!!
effectivement idem en 22.04
et tout rentre dans l'ordre
un grand merci Watael
j'aurai pataugé longtemps...
merci aussi aux autres intervenant qui ont essayé d'apporter une solution
je ne sais pas si je vais utiliser 22.04 mais mon portable en 20.04 certainement cet été !!!!!!
Watael un lien sur ce qui compare awk , gawk mawk ?
Dernière modification par ar barzh paour (Le 12/04/2022, à 15:37)
PC : B760M DS3H DDR4, 12th Gen Intel(R) Core(TM) i3-12100, RAM DDR4 8GiB -2400 Ubuntu 20.04, 22.04, 24.04 (en test )
Portable1 : ThinkPad P50 I7-6820HQ, 16G0 Ram W10-PRO( en voyage )
Portable2 : T5750 @ 2.00GHz RAM 1GiB DDR2 667 Mhz Ubuntu 20.04 ( batterie HS )
stourm a ran war bep tachenn (Angela Duval) ( Je combats sur tous les fronts )
Hors ligne
#15 Le 12/04/2022, à 16:29
- Watael
Re : [Résolu] awk me met le bazar
le shebang n'est pas utilisé quand tu appelles le script avec awk -f.
pour que le shebang (g)awk soit utile, le script doit être exécutable, et le shebang doit avoir cette forme :
#!/bin/gawk -f
mawk, si je ne dis pas de bêtise, est une implémentation POSIX de awk (un peu comme dash pour bash)
https://www.gnu.org/software/gawk/manua … POSIX.html
et
https://www.gnu.org/software/gawk/manua … 2fGNU.html
Dernière modification par Watael (Le 12/04/2022, à 16:29)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#16 Le 12/04/2022, à 17:27
- Tawal
Re : [Résolu] awk me met le bazar
merci aussi aux autres intervenant qui ont essayé d'apporter une solution
De rien, je suis juste content de m'être planté
Et je confirme pour mawk :
mawk conforms to the POSIX 1003.2 (draft 11.3) definition of the AWK language which contains a few features not described in the AWK book, and mawk provides a small number of extensions.
Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !
Hors ligne
Pages : 1