Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
nombre réponses : 25

#0 Re : -1 »  Recherche Testeurs VOIP/Visio libre : SIP - XMPP » Le 13/12/2014, à 13:14

L'Africain
Réponses : 517

Jacques92110 à écrit: Pouvez-vous me conseiller concernant le paramétrage d'Ekiga ?

Je te conseille l'utilisation de linphone, qui m'a donné  pleine satisfaction, entre ubuntu, android et windows. Ekiga j'ai jamais réussi, alors q'avec linphone c'est assez facile.
Bonne chance

#1 -1 »  (résolu) mettre texte devant chiffre et retour chariot avec sed » Le 06/01/2015, à 13:31

L'Africain
Réponses : 3

Bonjour,
Je dois convertir un certain nombres de fichier texte en format usfm pour ensuite les convertir en osis.
Bref mon texte doit ressembler à ça:

\id TOB
\mt1 Tobie
\c 1
\p
\v 1 Livre des actes de .....
\v 22 Acte...de plus c'était mon neveu, il était de ma parenté.
\c 2
\p
\v 1 Sous le règne d'Asarhaddon,

Il ressemble pour l'instant à ça:

Tobie

1
1 Livre des actes de T...
plus c'était mon neveu, il était de ma parenté.
...
2
1 Sous le règne d'Asa

Avec mon script sed que voici :

#Supprime les lignes vide et ajoute "\id TOB" à la première ligne,
find . -name "*.txt" -exec sed -i '/./!d; 1i\\\id TOB\n\\mt1' {} \;
#Ajoute \v devant chaque ligne commençant par un chiffre suivit d'un espace et de texte,
find . -name "*.txt" -exec sed -i 's/^[0-9] [a-z]*/\\v &/g' {} \;
#Ajout "\v " devant chaque ligne commençant par deux chiffres suivit d'un espace et de texte,
find . -name "*.txt" -exec sed -i 's/^[0-9][0-9] [a-z]*/\\v &/g' {} \;
#Ajoute "\c\n\p" devant chaque ligne correspondant à un chiffre suivit d'un retour à la ligne,
find . -name "*.txt" -exec sed -i 's/^[0-9]\n/\\c &\n\\p/g' {} \;

J'obtiens ça:

\id TOB
\mt1
Tobie
\c 1
\p
\v 1 Livre des actes de .....

La dernière commande ne marche pas bien, elle ne semble pas lire le retour à la ligne si je mets ^[0-9]\n, mais si je ne met pas le \n (comme dans le résultat) s'il y a deux chiffres il va faire la substitution après chaque chiffre, exemple pour le chiffre 16 ça donne:

\c 1
\p6

aulieu de:

\c 16
\p

J'ai un problème aussi pour mettre \mt1 devant le contenue de la deuxième ligne ou bien fusionner les deux lignes \mt1 Tobie.
Merci pour votre aide!

#2 Re : -1 »  (résolu) mettre texte devant chiffre et retour chariot avec sed » Le 08/01/2015, à 20:11

L'Africain
Réponses : 3

Merci Je vais essayer ça parce que c'est plus propre, mais entre temps j'ai réussi à bricoler quelque-chose...

#3 Re : -1 »  (résolu) mettre texte devant chiffre et retour chariot avec sed » Le 12/01/2015, à 10:14

L'Africain
Réponses : 3

Voilà j'ai réussi, le problème semble-t-il venait du bom  qui s'était infiltré dans mon texte après conversion en utf8; voilà le script final:

#!/bin/bash

# pour chaque fichier dans ls *.txt
for FILE in `ls *.txt` ; do
#Comence par mettre à la ligne chaque verset
  sed -i 's/ [0-9][0-9] /\n&/g' $FILE
  sed -i 's/ [0-9] /\n&/g' $FILE
#Supprime l'espace en début de ligne
  sed -i 's/^[ ]*//g' $FILE
#Supprime les lignes vide et ajoute "\id TOB \mt1" à la première ligne,
  sed -i '/./!d; 1i\\\id TOB\n\\mt1 ' $FILE
#Colle la ligne 2 et 3
  sed -i '/\\mt1$/N; s/\n/ /' $FILE
#Ajout "\v " devant chaque ligne commençant par un puis deux chiffres suivit d'un espace et de texte,
  sed -i 's/^[0-9] [a-z]*/\\v &/g' $FILE
  sed -i 's/^[0-9][0-9] [a-z]*/\\v &/g' $FILE
#ajoute \c devant chaque ligne commencant par deux chiffre
  sed -i 's/^[0-9]+\n/\\c &\n\\p/g' $FILE
  rename 's/txt/sfm/g' $FILE
  # Autre solution pour mettre \mt1 devant les noms des livres bibliques, dans ce cas modifier la ligne qui ajoute \id TOB
  #sed -i 's/^[A-Z]/\\mt1 &/g' $FILE
  #sed -i 's/^[1-2] [A-Z]/\\mt1 &/g' $FILE
done

Merci pour ton aide

#4 Re : -1 »  Souris qui se bloque quand l'ordinateur est sur batterie » Le 12/01/2015, à 09:17

L'Africain
Réponses : 10

Bonjour,
Exactement le même problème (cependant aléatoire) seulement sur 14.04. C'est très très embêtant. La souris semble se mettre en veille.
Si quelqu'un a une idée? En effet cela n'arrive que sur batterie, jamais sur secteur.
Bonne année à tous.

#5 Re : -1 »  bug HPLIP avec une tout-en-un, impossible de scanner [RESOLU] » Le 08/12/2014, à 11:45

L'Africain
Réponses : 28

Bonjour,
Avant d'installé la dernière version d'HPLIP avais-tu essayé avec les paquets  présent par défaut, en installant aussi hplip gui?
Avant d'installer une nouvelle version il faut déjà être sûr que celle présente dans les dépôts ne fonctionne pas. Est-ce le cas?
Amicalement

#6 Re : -1 »  bug HPLIP avec une tout-en-un, impossible de scanner [RESOLU] » Le 08/12/2014, à 20:03

L'Africain
Réponses : 28

En effet c'est plutôt le bazard... Je te conseille de tout bien désinstaller puis de commencer par réinstaller hplip-gui des dépôts, c'est ce qui correspond à la boîte à outil. Après cela si l'imprimante et le scanner ne sont pas bien reconnus, alors tu désinstalles tout ce qui concerne hplip, puis tu réinstalles le dernier hplip (.run).

Je viens de voir que dans mon dossier /home , il y a un dossier /hplip-3.14.10 ; mais il est verrouillé, je ne peux afficher son contenu

Tu fais ça sur le dossier parce que c'est à partir de lui que tu pourras désinstaller:

sudo chmod 777 -R le_nom_du_dossier_hplip

Ici tu trouveras une procédure pour désinstaller proprement le .run. Le dossier dont parle la page est celui qui était verrouillé dans ton home.
Il ne devrait pas y avoir de  problème pour que tout fonctionne.

#7 Re : -1 »  bug HPLIP avec une tout-en-un, impossible de scanner [RESOLU] » Le 10/12/2014, à 21:10

L'Africain
Réponses : 28

Ne

Je verifie demain le lien c'est vers un site anglais, il dit simplement de lancer le script uninstall qui est dans le dossier que tu as déverrouillé.
Ou de supprimer manuellement chaque fichier et dossier hplip. A demain

#8 Re : -1 »  bug HPLIP avec une tout-en-un, impossible de scanner [RESOLU] » Le 11/12/2014, à 09:13

L'Africain
Réponses : 28

Salut,

(j'ai fait la bêtise d'installer en 32 bits, alors que j'aurais pu mettre en 64 bits, mais bon j'ai la flemme de tout refaire)

, franchement, moi j'hésiterais pas! T'en as à tout casser pour 25 minutes. Si tu veux vraiment tirer profit de toutes les capacités de ta machine.
Au fait j'ai réparé le lien défaillant dans le post #7.

#9 Re : -1 »  bug HPLIP avec une tout-en-un, impossible de scanner [RESOLU] » Le 12/12/2014, à 10:43

L'Africain
Réponses : 28

Si tu as tout bien désinstallé, comme je te l'ai dit essayer d'abord avec les paquets hplip des dépots en installant hplip-gui. Si ça ne va pas alors tu peux essayer avec le hplip.run. Ton problème c'est sûrement que ton hplip.run n'est pas éxécutable. Pour ça clic droit sur ton run, permissions, rendre le truc machin exécutable... Et ça devrait marcher! Mais franchement réinstalle un bon 64 bits!

#10 Re : -1 »  bug HPLIP avec une tout-en-un, impossible de scanner [RESOLU] » Le 15/12/2014, à 20:09

L'Africain
Réponses : 28

hplip n'est complètement installé qu'à partir du moment où tu installes hplip-gui, avant cela tout n'est pas installé, mais bon l'essentiel c'est que cela fonctionne. Aussi xsane ne dépend pas le l'installation de hplip-gui (la boîte à outil).
Pense à mettre résolu à ton titre.

#11 -1 »  Script perl pour mettre verset à la ligne » Le 05/12/2014, à 17:22

L'Africain
Réponses : 8

Bonjour,
Dans la continuité de cette discussion, j'ai ça :

Tobit # (nom du livre)
1 # (indique le chapitre, est suivi d'un retour à la ligne)
1  Histoire de Tobit, fils de Tobiel, ...
2  Aux jours de Salmanasar, ...
3  Moi, Tobit... 4  Dans ma jeunesse....
...
64...
2 # Indique un nouveau chapitre
1 ...
2...

Je dois obtenir ça:

$$$nom _du_livre 1,(numéro de chapitre)1(numéro de verset)
Histoire de Tobit, fils de Tobiel, ...
$$$nom _du_livre 1,2
Aux jours de Salmanasar, ..

j'ai testé le script proposé par ajet:

En supposant que la ligne de no de chapitre ne comprenne que ce no - eventuellement suivit d'espaces, je propose ce pseudo code perl - pas teste, peut etre des erreurs de syntaxe a corriger

# Par la suite, je suppose que le titre est dans la variable $book_title
while ($line = <FICLOC>)
# Detection de chapitre
  if ($line =~ '/^(\d+)\s*$/') {
     $n_chapter = $1;
  }

## Detection de versets
  if ($line =~ '/^(\d+)\s+(.+)$/') {
    $n_verse = $1;
    $text_verse = $2;
    $formatted_text = "\$\$\$$book_title $n_chapter,$n_verse\n$text_verse";
   # Ecriture de cette ligne dans le fichier texte
    print FICOUT "$formatted_text\n";
  }
}

voici les résultats d'erreur du terminal:

./script_ajet Judith.txt 
syntax error at ./script_ajet line 5, near ")
# Detection de chapitre
  if"
syntax error at ./script_ajet line 16, near "}"
Unmatched right curly bracket at ./script_ajet line 17, at end of line
Execution of ./script_ajet aborted due to compilation errors.

Merci déjà à Ajet!
PS: J'ai déjà un version faite à la manuellement, mais j'en ai encore trois à travailler...

#12 Re : -1 »  Script perl pour mettre verset à la ligne » Le 24/12/2014, à 10:20

L'Africain
Réponses : 8

Désolé j'avais pas vu la réponse je vais voir ça!! Merci!!

Edit : J'avais pas lu en entier donc j'avais pas vu:

ajet à écrit:
* Il faut que tu inseres la partie qui se charge de d'ouvrir les fichiers.
* comme indique dans le premier commentaire il faut aussi recupere le titre du livre.

Or je sais pas faire ça!!! Disons que le fichier .txt a traiter porte le nom du livre comme : tobit.txt par exemple.

#13 Re : -1 »  Script perl pour mettre verset à la ligne » Le 31/12/2014, à 11:53

L'Africain
Réponses : 8

Bonjour,
J'ai essayé ça, mais ça marche pas j'arrive pas a faire la boucle correctement, surtout que je voudrais faire un script qui travaille sur tous les fichiers, la j'ai essayé avec un fichier "tobie", j'avoue que je comprend pas grand chose à ce que j'ai essayé moi-même, je voudrais y mettre une variable "*.txt":

#!/usr/bin/perl
#ouverture du fichier à modifier
print "tobie.txt";
$tobie=<STDIN>;

chomp $tobie;
open(tobie)||die "$!";

#ouverture du fichier modifié
open(formatted_txt);

# Par la suite, je suppose que le titre est dans la variable $book_title
while ($line = <FICLOC>){
# Detection de chapitre
  if ($line =~ '/^(\d+)\s*$/') {
     $n_chapter = $1;
  }

## Detection de versets
  if ($line =~ '/^(\d+)\s+(.+)$/') {
    $n_verse = $1;
    $text_verse = $2;
    $formatted_text = "\$\$\$Tobie$n_chapter:$n_verse\n$text_verse";
   # Ecriture de cette ligne dans le fichier texte
    print FICOUT "$formatted_text\n";
  }
}
#fermeture
close(formatted_txt);
close(tobie.txt);

#14 Re : -1 »  Script perl pour mettre verset à la ligne » Le 01/01/2015, à 15:43

L'Africain
Réponses : 8

Salut,
Voilà donc le fichier final:

#!/usr/bin/perl

#ouverture du fichier à modifier
$entree = $ARGV[0];
open(FICLOC, $entree);

if ( $entree =~ /(.*)\.[^\.]+/ ) {
        $book_title = $1;
} else {
       $book_title = $entree;
}

#ouverture du fichier modifié
$ext = ".txt"; #Insere ici l'extension que tu souhaites pour ton fichier
open(FICOUT, ">", "$book_title.$ext");

# Par la suite, je suppose que le titre est dans la variable $book_title
while ($line = <FICLOC>){
# Detection de chapitre
  if ($line =~ '/^(\d+)\s*$/') {
     $n_chapter = $1;
  }

## Detection de versets
  if ($line =~ '/^(\d+)\s+(.+)$/') {
    $n_verse = $1;
    $text_verse = $2;
    $formatted_text = "\$\$\$book_title$n_chapter:$n_verse\n$text_verse";
   # Ecriture de cette ligne dans le fichier texte
    print FICOUT "$formatted_text\n";
  }
}

Mais ça marche pas!
J'ai appelé le script ./traitement_bible.pl, puis j'ouvre un terminal à l'endroit des fichiers a traiter en faisant ça:

./traitement_bible.pl 

Mais rien :
J'ai le retour terminal habituel:

@W54:/home/.../Modules_bibles/***/deutéro$

#15 Re : -1 »  Script perl pour mettre verset à la ligne » Le 02/01/2015, à 09:46

L'Africain
Réponses : 8

Bonjour et bonne année,
En fait j'ai essayé les deux, mais comme je croyais que le script travaillait sur tout les fichier .txt du dossier, j'ai pas mis de fichier texte en argument, si je le fait, exemple ici avec le fichier Baruch.tx, en sortie, j'ai un fichier texte vide, Baruch..txt, avec deux points avant l'extension.
Merci pour ton aide!

#16 -1 »  (Résolu) Supprimer espace entre mot et chiffre puis virgule par ":" » Le 07/12/2014, à 13:49

L'Africain
Réponses : 7

Bonjour,
C'est encore moi... mais je m'en sort décidément pas tout seul avec sed...
Voilà j'ai ça:
$$$mot (ou chiffre espace mot) espace chiffre,chiffre
exemples:

$$$Genesis 1,12
ou
$$$1 Corinthian 1,23
Je voudrais obtenir :
$$$1Corinthians1.23

Je fais ça :

 sed -e 's/\$$$+[ ][0-9],/\$$$+[0-9]:/g'  Test.txt >sortie.txt

Dans mon fichier j'optiens:

$$$+[0-9].

A la place de :
$$$Genesis...

Merci encore!

#17 Re : -1 »  (Résolu) Supprimer espace entre mot et chiffre puis virgule par ":" » Le 07/12/2014, à 19:35

L'Africain
Réponses : 7

Salut,
En fait je ne cherche pas à remplacer tous les espaces et les virgules, mais seulement à supprimer l'espace sur les lignes qui commence par:

$$$nom 1...

Et la virgule entre le 1 (ou un autre chiffre) et un autre chiffre:

... 2,34\n

J'ai fait ça:

sed -r 's/^(\$\$\$[^ ]+)/\1/' entree.txt >sortie.txt

Ça marche pas... Pour les dollars je m'était trompé, c'est pas des expressions rationnelles, mais la lignes commence par 3 dollars...
En gros toutes les lignes qui commencent par 3 $ suivit d'un ou deux mots suivi d'un espace d'un chiffre suivi d'une virgule, je souhaite supprimer l'espace et remplacer la virgule par des :
Bonne soirée!

#18 Re : -1 »  (Résolu) Supprimer espace entre mot et chiffre puis virgule par ":" » Le 10/12/2014, à 21:11

L'Africain
Réponses : 7

Merci, demain je teste ça. Mais je comprends déjà beaucoup mieux 'écriture des occurrences!

Edit : ok ça marche à part la commande pour substituer la "," par un " :" il fallait enlever la parenthèse qui se trouvait dans la ligne.
Donc si je comprends bien:
j'écris d'abord à quoi ressemble la ligne: ^\$\$\$, c'est comme dire : tout ce qui commence par ça tu vas faire ce qui suit: /s/ c'est à dire substituer :
[ ] (un espace) par un // (rien).
Même principe pour les double point, juste une question, pourquoi il y a un g à la fin de la première substitution et pa après la deuxième?
EN tout cas un grand merci, c'est résolu!

#19 Re : -1 »  (Résolu) Supprimer espace entre mot et chiffre puis virgule par ":" » Le 11/12/2014, à 20:02

L'Africain
Réponses : 7

Merci pour ces explications!
j'ai encore une question (j'en profite): si on veut par exemple enlever pas le premier motif mais le 4ème comment on fait? puisque avec g c'est tout les motifs, et sans g c'est le premier.
A+

#20 Re : -1 »  [Résolu, mais non...] Imprimante Lexmark S305 inactive » Le 08/12/2014, à 20:10

L'Africain
Réponses : 14

Pour info imprimer des pdf avec une lexmark peut fonctionner aléatoirement, sauf avec Okular.
Au cas où le problème était du à des pdfs.

#21 Re : -1 »  xsane ne veut plus enregistrer » Le 08/12/2014, à 11:23

L'Africain
Réponses : 7

Bonjour,
Peut-être est-ce un problème de droit sur le dossier xsane, pour le résoudre ouvree un terminal (ctrl+alt+T) et entrer cette commande :

sudo chmod 777 -R .sane

#22 Re : -1 »  (Résolu) À la ligne (avec sed) dans une partie précise d'un texte » Le 04/12/2014, à 16:14

L'Africain
Réponses : 8

Je vous remercie, ça marche, j'avais juste un espace en début de ligne que j'ai supprimé comme ça:

sed 's/^ *//g' sortie_final2.txt >sortie_final3.txt

Vous pouvez juste m'expliquer les lignes?
Je comprends : $(3) ça veut dire qu'il y a trois fois ce caractère, aussi ça je comprends  [0-9]*,[0-9]* chiffre compris de 0 à 9 séparé par une virgule. mais le mot entre les $ et les chiffres c'est quoi qui l'identifie?

#23 Re : -1 »  (Résolu) À la ligne (avec sed) dans une partie précise d'un texte » Le 05/12/2014, à 08:27

L'Africain
Réponses : 8

Merci ajex pour toutes ces explications. C'est très utile. Je vais aller lire les liens. Mais en gros j'ai compris, maintenant pour l'appliquer...
Bon si je peux... j'ai encore une question. Si vous pensez que c'est mieux d'ouvrir un nouveau post, je peux aussi, mais ça reste dans le même sujet:
J'ai des livres manquants dans ce fichier texte que l'on vient de créer pour bibletime (vous avez deviner qu'il s'agit de la Bible??).
Or les fichiers textes des livres manquants se présentes ainsi :

Tobit # (nom du livre)
1 # (indique le chapitre, est suivi d'un retour à la ligne)
1  Histoire de Tobit, fils de Tobiel, ...
2  Aux jours de Salmanasar, ...
3  Moi, Tobit... 4  Dans ma jeunesse....
...
64...

2 # Indique un nouveau chapitre
1 ...
2...

Donc chaque verset est numéroté et quand le chapitre est fini la numérotation reprend à 1, 2.
Comment faire pour changer chaque chiffre correspondant au verset par :

$$$nom _du_livre 1,(numéro de chapitre)1(numéro de verset)
Histoire de Tobit, fils de Tobiel, ...
$$$nom _du_livre 1,2
Aux jours de Salmanasar, ..

Le script doit voir que la numérotation reprend à 1 et passer au chiffre du chapitre suivant. j'espère que mes explication ne sont pas trop confuse...
On m'a envoyé un script perl qui est chargé de faire une chose similaire (sauf qu'il ne met pas le verset à la ligne mais ça maintenant je sais le faire)  que je n'arrive pas à utiliser, en voici le contenu :

#!/usr/bin/perl

$entree = $ARGV[0];
$sortie = $entree."trait";

# Section 1 : insertion de sauts de lignes dans le fichier unicode
#-------------------------------------------------------------------

print "Ouverture de $entree\n";

  open(FICLOC, $entree);

print "Lecture de $entree\n";

    $bible = <FICLOC>;
    chop($bible);
print "Scission des versets\n";

$bible =~ s/(\d\d?\s)/\n$1/g;

print "Ouverture du fichier de sortie\n";

  
  open(FICOUT, ">$sortie");

print "Ecriture des versets\n";
print FICOUT "$bible";

__END__

# Section 2 : Recherche des numéros de chapitre, et insertion du nom de livre
# ----------------------------------------------------------------------------
print "Ouverture de $entree\n";

  open(FICLOC, $entree);
  open(FICOUT, ">$sortie");

print "Lecture de $entree\n";

while ($verset = <FICLOC>) {
    chop($verset);
    if ($verset =~ /^<(.*)>$/) {
        print "Traitement du livre $1\n";
#         print FICOUT "$verset\n";
#         $verset =~ s/[<>]//g;
        $livre = $1;
        $chapitre = 0;
        next;
        }
    if ($verset =~ /^(\d\d?)§(\d\d?)$/) {
        $chapitre = $1;
        $vers = $2;
        $premier = 1;
        next;
        }
    if ($verset =~ /^(\d\d?)$/) {
    	$vers = $1 ;
    	$premier = 1;
    	next;
    	}
# on arrive ici s'il n'y a pas de chiffre...
    if ($premier == 1) {
    	print FICOUT "\n$livre $chapitre:$vers $verset";
    	$premier = 0;
        } else {
        print FICOUT " $verset";
        }
    }

On est pas obligé d'utiliser ce script on peut repartir de zéro. C'est ce qui vous semble le plus simple.
Merci d'avance !

#24 Re : -1 »  (Résolu) À la ligne (avec sed) dans une partie précise d'un texte » Le 05/12/2014, à 17:29

L'Africain
Réponses : 8

Ok j'ouvre un nouveau post ici. J'y ai mis les retours du terminal.