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 »  Tirage au sort, « le gagnant du mois » » Le 01/04/2014, à 08:52

Le Goss
Réponses : 47

Bonjour à tous,
Bon ben... je n'ai jamais rien gagné qui soit vraiment utile.
Alors, un grand merci ! wink

Bien cordialement

#1 -1 »  [Résolu] bash renommer des fichiers avec la 2e ligne de leur contenu » Le 03/04/2014, à 10:32

Le Goss
Réponses : 3

Bonjour à tous,

Dans un dossier, je dispose de centaines de fichiers *.txt.
Je cherche à les renommer par le contenu de la 2e ligne de chacun d'eux (plus généralement, par la n-ième).
Le traitement par lot, c'est bon, mais pour le renommage, je sèche.

Merci pour aide,
Cordialement

#2 Re : -1 »  [Résolu] bash renommer des fichiers avec la 2e ligne de leur contenu » Le 03/04/2014, à 11:39

Le Goss
Réponses : 3
pingouinux a écrit :

et enlève le echo si c'est bon.

Tout est OK!
Merci beaucoup!

#3 -1 »  [Résolu] bash ouverture copie et export d'une page web » Le 10/03/2014, à 11:49

Le Goss
Réponses : 9

Bonjour à tous,

J'ai déjà essayé avec wget et httrack sans succès...
Alors voilà:
Je cherche à copier vers un fichier texte le contenu de pages web, pas le code html, mais ce qui est affiché à l'écran.
Ce qui nécessite l'ouverture du navigateur (Firefox pour ce qui me concerne).
Ahhh! j'étais tombé sur une appli en ligne commande qui s'appelait du genre "machintool" ou "toolmachin" mais impossible d'y mettre la main dessus.

Merci pour le coup de main!
Cordialement

#4 Re : -1 »  [Résolu] bash ouverture copie et export d'une page web » Le 10/03/2014, à 14:15

Le Goss
Réponses : 9

Merci pour vos suggestions!

html2text essayé mais nécessite de sauvegarder (manuellement) chaque page html avant traitement, non? ou bien ai-je manqué quelque chose...
Je cherche à ce que le script bash fasse lui-même tout le boulot à ma place.
existe-t-il une commande pour que w3m exporte la page affichée vers en fichier texte auquel on donnerait pour nom l'url de la page?

#5 Re : -1 »  [Résolu] bash ouverture copie et export d'une page web » Le 11/03/2014, à 12:18

Le Goss
Réponses : 9

@credenhill: je n'ai pas tout compris à ta commande. Je la garde sous le coude pour l'étudier plus tard.
Je suis partie sur la base de ta première proposition w3m -dump URL

w3m -dump http://blabla > fichier

Fonctionne aussi avec:

lynx -dump http://blabla > fichier
elinks -dump http://blabla > fichier
links -dump http://blabla > fichier

Il ne me reste plus qu'à bidouiller le script pour que le nom de mon fichier sauvegardé soit l'url...

#6 Re : -1 »  [Résolu] bash ouverture copie et export d'une page web » Le 23/03/2014, à 18:03

Le Goss
Réponses : 9
credenhill a écrit :

la première ligne copie la page dans un fichier HTML et extrait la balise <title></title> pour avoir le nom du fichier dans lequel la 2ème ligne le convertit en texte

Merci pour l'info!

#7 Re : -1 »  [Résolu] bash ouverture copie et export d'une page web » Le 23/03/2014, à 18:05

Le Goss
Réponses : 9
Le Goss a écrit :

Ahhh! j'étais tombé sur une appli en ligne commande qui s'appelait du genre "machintool" ou "toolmachin"

xdotool cool
Retrouvé par hasard... lol

#8 Re : -1 »  cle usb bizarre; formatable en partie » Le 20/03/2014, à 18:59

Le Goss
Réponses : 31
Julientroploin a écrit :

J'ai donc désormais une clé normale.

Super! smile
Pour ma part, ça coince toujours... sad

#9 Re : -1 »  cle usb bizarre; formatable en partie » Le 20/03/2014, à 22:02

Le Goss
Réponses : 31
[   36.988574] wlan0: authenticate with 14:0c:76:67:7d:da
[   36.994787] wlan0: send auth to 14:0c:76:67:7d:da (try 1/3)
[   36.996654] wlan0: authenticated
[   36.996777] wlan0: associate with 14:0c:76:67:7d:da (try 1/3)
[   37.000234] wlan0: RX AssocResp from 14:0c:76:67:7d:da (capab=0x411 status=0 aid=2)
[   37.019951] wlan0: associated
[   37.019971] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   39.292323] init: plymouth-stop pre-start process (1667) terminated with status 1
[   41.843050] hda-codec: out of range cmd 3:5:707:fffffffc
[  104.099273] usb 1-1.2: USB disconnect, device number 3
[  104.334702] usb 1-1.2: new low-speed USB device number 5 using ehci-pci
[  104.427963] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00f
[  104.427971] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  104.427975] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[  104.427978] usb 1-1.2: Manufacturer: Logitech
[  104.431960] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input12
[  104.432313] hid-generic 0003:046D:C00F.0002: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[  105.892476] usb 1-1.2: USB disconnect, device number 5
[  106.093126] usb 1-1.2: new low-speed USB device number 6 using ehci-pci
[  106.185210] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00f
[  106.185213] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  106.185224] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[  106.185225] usb 1-1.2: Manufacturer: Logitech
[  106.189081] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input13
[  106.189313] hid-generic 0003:046D:C00F.0003: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[ 3464.630609] usb 1-1.2: USB disconnect, device number 6
[ 3464.832538] usb 1-1.2: new low-speed USB device number 7 using ehci-pci
[ 3464.925022] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00f
[ 3464.925030] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3464.925034] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[ 3464.925037] usb 1-1.2: Manufacturer: Logitech
[ 3464.928599] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input14
[ 3464.928991] hid-generic 0003:046D:C00F.0004: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[ 4791.830392] usb 1-1.2: USB disconnect, device number 7
[ 4792.032296] usb 1-1.2: new low-speed USB device number 8 using ehci-pci
[ 4792.124336] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00f
[ 4792.124344] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4792.124348] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[ 4792.124351] usb 1-1.2: Manufacturer: Logitech
[ 4792.128169] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input15
[ 4792.128581] hid-generic 0003:046D:C00F.0005: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[ 7901.449841] systemd-hostnamed[6052]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[10986.112271] usb 1-1.2: USB disconnect, device number 8
[10986.305559] usb 1-1.2: new low-speed USB device number 9 using ehci-pci
[10986.398024] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00f
[10986.398032] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10986.398036] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[10986.398039] usb 1-1.2: Manufacturer: Logitech
[10986.401489] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input16
[10986.401946] hid-generic 0003:046D:C00F.0006: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[11574.727449] systemd-hostnamed[7919]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[11727.225322] hda-intel 0000:00:1b.0: Unstable LPIB (65532 >= 32768); disabling LPIB delay counting
[11737.338282] usb 1-1.2: USB disconnect, device number 9
[11737.539491] usb 1-1.2: new low-speed USB device number 10 using ehci-pci
[11737.631851] usb 1-1.2: New USB device found, idVendor=046d, idProduct=c00f
[11737.631859] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[11737.631863] usb 1-1.2: Product: USB-PS/2 Optical Mouse
[11737.631866] usb 1-1.2: Manufacturer: Logitech
[11737.635739] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input17
[11737.636024] hid-generic 0003:046D:C00F.0007: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1a.0-1.2/input0
[11835.714727] usb 3-1: new high-speed USB device number 2 using xhci_hcd
[11835.729028] usb 3-1: New USB device found, idVendor=1970, idProduct=0000
[11835.729036] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11835.729040] usb 3-1: Product: CG06            
[11835.729043] usb 3-1: Manufacturer: DaneElec
[11835.729046] usb 3-1: SerialNumber: 92771B02007C
[11835.809860] usb-storage 3-1:1.0: USB Mass Storage device detected
[11835.809974] scsi6 : usb-storage 3-1:1.0
[11835.810046] usbcore: registered new interface driver usb-storage
[11836.813560] scsi 6:0:0:0: CD-ROM            DaneElec CG06             PMAP PQ: 0 ANSI: 0 CCS
[11836.813994] scsi 6:0:0:1: Direct-Access     DaneElec CG06             PMAP PQ: 0 ANSI: 0 CCS
[11837.306822] sr1: scsi3-mmc drive: 8x/40x writer xa/form2 cdda tray
[11837.307127] sr 6:0:0:0: Attached scsi CD-ROM sr1
[11837.307369] sr 6:0:0:0: Attached scsi generic sg2 type 5
[11837.307712] sd 6:0:0:1: Attached scsi generic sg3 type 0
[11837.309845] sd 6:0:0:1: [sdb] 1495040 512-byte logical blocks: (765 MB/730 MiB)
[11837.309985] sd 6:0:0:1: [sdb] Write Protect is off
[11837.310001] sd 6:0:0:1: [sdb] Mode Sense: 23 00 00 00
[11837.311065] sd 6:0:0:1: [sdb] No Caching mode page found
[11837.311070] sd 6:0:0:1: [sdb] Assuming drive cache: write through
[11837.313006] sd 6:0:0:1: [sdb] No Caching mode page found
[11837.313011] sd 6:0:0:1: [sdb] Assuming drive cache: write through
[11837.313622]  sdb: sdb1
[11837.315529] sd 6:0:0:1: [sdb] No Caching mode page found
[11837.315535] sd 6:0:0:1: [sdb] Assuming drive cache: write through
[11837.315540] sd 6:0:0:1: [sdb] Attached SCSI removable disk
[11837.678594] kjournald starting.  Commit interval 5 seconds
[11837.683813] EXT3-fs (sdb1): using internal journal
[11837.683818] EXT3-fs (sdb1): recovery complete
[11837.683819] EXT3-fs (sdb1): mounted filesystem with ordered data mode
[11837.737981] ISO 9660 Extensions: Microsoft Joliet Level 3
[11837.802119] ISOFS: changing to secondary root

#10 Re : -1 »  cle usb bizarre; formatable en partie » Le 22/03/2014, à 00:39

Le Goss
Réponses : 31
Julientroploin a écrit :

Tu à formaté ta clé en ext3 ? (partition sdb1 ?

oui

Julientroploin a écrit :

Désolé, je pense pas pouvoir aider plus.

Merci déjà pour l'aide que tu m'as apportée et pour le temps que tu y as passé!
Moi qui étais persuadé que je "sofware" aurait raison de "hardware"...

#11 Re : -1 »  cle usb bizarre; formatable en partie » Le 22/03/2014, à 09:51

Le Goss
Réponses : 31

J'ai fait ce qui est marqué dans la doc, dernier cadre en bas.

legoss@legoss-550P5C-550P7C:~$ sudo u3-tool -p 0 /dev/sr1
Error opening device: Read-only file system

Et je ne peux rien modifier dans propriétés/permissions.
Le propriétaire du répertoire est "Moi".
Arrfgffjghksjdfgygehqgfkdjhcvwxkcv..... mad

#12 Re : -1 »  cle usb bizarre; formatable en partie » Le 22/03/2014, à 10:07

Le Goss
Réponses : 31
moko138 a écrit :
La même doc ("brouillon") a écrit :

Si la partition vfat est sur /dev/sdb1, alors le bon device est /dev/sdb, mais en aucun cas /dev/sr1

Moi je veux bien, mais (voir les deux dernières lignes):

legoss@legoss-550P5C-550P7C:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=legoss)
/dev/sr1 on /media/legoss/CG06 type iso9660 (ro,nosuid,nodev,uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500,uhelper=udisks2)
/dev/sdb1 on /media/legoss/5cb19f6a-5314-4f11-8a21-aa8153299c21 type ext3 (rw,nosuid,nodev,uhelper=udisks2)

C'est bien "/dev/sr1 on /media/legoss/CG06" qui me pose problème...
/dev/sdb1 est bien formaté en ext3.

#13 Re : -1 »  cle usb bizarre; formatable en partie » Le 22/03/2014, à 12:06

Le Goss
Réponses : 31

Remplacement de sr1 par sdb:

legoss@legoss-550P5C-550P7C:~$ sudo u3-tool -p 0 /dev/sdb

WARNING: Loading a new cd image causes the whole device to be whiped. This INCLUDES
 the data partition.
I repeat: ANY EXCISTING DATA WILL BE LOST!

Are you sure you want to continue? [yn] y
u3_partition() failed: Failed reading device property 0x03: Header of property 0x0003 could not be read.

Le déverrouillage donne:

legoss@legoss-550P5C-550P7C:~$ sudo u3-tool -u /dev/sdb
Enter password: 
u3_data_partition_info() failed: Device reported command failed: status 1

#14 Re : -1 »  cle usb bizarre; formatable en partie » Le 22/03/2014, à 12:53

Le Goss
Réponses : 31
Babdu89 a écrit :

Je n'ai jamais pu supprimer ce deuxième "périphérique" de la clé ...

Peut-être qu'on aurait plus de chance avec la commande jevaistemettreungrandcoupdemasse lol
Mais il paraît que ça peut rendre le support usb inutilisable tongue
En plus, je ne trouve pas le man sur ma machine:

legoss@legoss-550P5C-550P7C:~$ man jevaistemettreungrandcoupdemasse
Aucune entrée de manuel pour jevaistemettreungrandcoupdemasse

... alors j'hésite. Je préfère n'utiliser cette possibilité qu'en dernier recours.

#15 -1 »  Terminator mémoriser les redimensionnements » Le 13/03/2014, à 21:55

Le Goss
Réponses : 4

Bonsoir à tous,

J'utilise Terminator pour splitter en plusieurs consoles.
Après les avoir redimensionnées (Maj+Ctrl+Droite / Gauche etc.), les modifications n'ont pas été mémorisées à la réouverture de Terminator.
Et je ne me vois pas refaire les mêmes manip à chaque fois...
Je ne trouve rien dans les préférences.
pas plus dans les man...

man terminator_config
man terminator

Est-ce possible de mémoriser ces réglages? si non, pourriez-vous m'orienter vers un outil similaire qui le permettrait?

Merci pour votre aide,
Cordialement

#16 Re : -1 »  Terminator mémoriser les redimensionnements » Le 20/03/2014, à 19:11

Le Goss
Réponses : 4

J'ai continué à chercher mais "chou blanc".
J'ai bien essayé d'appliquer la commande resize pour redimensionner les consoles, mais ça ne fonctionne que pour gnome-terminal et pas pour terminator...
En revanche j'ai découvert ncurses. Outre le grand intérêt que j'y porte, est-ce que ça m'aiderait à répondre à la question? ou bien dois-je chercher dans une autre direction?

#17 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 15/02/2014, à 19:59

Le Goss
Réponses : 22

Mon niveau en latex ne va pas jusque là...
J'en suis à une utilisation basique, avec des commandes toutes simples.
La commande latex, je l'ai et elle fonctionne impec.
C'est sa "transcription" en bash qui me pose problème.

#18 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 17/02/2014, à 12:57

Le Goss
Réponses : 22

Ça marche poil !
Dans l'état actuel de mes connaissances en bash, je n'aurais pas pu trouver.
Merci encore !

#19 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 17/02/2014, à 18:21

Le Goss
Réponses : 22

Y a un os...
Quand j’insère la formule dans mon script avec un

read -p "Nombre de couplets: " nombrecouplets

la commande

gen_latex $nombrecouplets >> fichier.tex

ne fonctionne pas; la commande latex crée est incomplète:

\def\commande#1#2{\quitvmode\vbox{\hbox{\scriptsize\bf\textcolor{red}{#1}}\hbox{\scriptsize\bf\textcolor{blue}{#2}}}

#20 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 17/02/2014, à 19:20

Le Goss
Réponses : 22

Voici le cript.

#!/bin/bash

read -p "Nom du fichier (ex: fichier.tex): " nomfichier
read -p "Titre: " titre
read -p "Format du papier (ex: a5): " papier
read -p "Marges en cm (ex: 1.5): " marge
read -p "Accords: " accords
echo $accords >> accords
sed -i 's/!/\n/g' accords
sed -i 's/^/\\commande{\\underline{}}{/' accords
sed -i 's/$/}/' accords
cat	accords >> accordscolonne

read -p "Combien de couplets? " nombrecouplets

echo -e "\documentclass[$papier paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{color}
\usepackage{multicol}
\setlength{\\\columnseprule}{0.5pt}
\setlength{\\\columnsep}{30pt}
\usepackage{geometry}
\geometry{top=$marge cm, bottom=$marge cm, left=$marge cm, right=$marge cm}" >> $nomfichier


function gen_latex {
PART1=$(for ((i=3; i<=$1; i++)) ; do echo -n "#$i" ; done)
PART2=$(for ((i=3; i<=$1; i++)) ; do echo -n "\\hbox{#$i}" ; done)
echo "\def\commande#1#2${PART1}{\quitvmode\vbox{\hbox{\scriptsize\bf\textcolor{red}{#1}}\hbox{\scriptsize\bf\textcolor{blue}{#2}}${PART2}}}"
}

gen_latex $nombrecouplets >> $nomfichier

echo -e "\\\begin{document}
\\\shorthandoff{:}

%\\\begin{multicols}{2}

\\\begin{spacing}{0.8}

\\\section*{$titre}
\\\begin{flushleft} 
\\\noindent" >> $nomfichier

x=i
for ((i=1;i<$nombrecouplets+1;i++))
do
	read -p "Refrain $x: " contenu
	echo $contenu >> refrain$x
	sed -i 's/!/\n/g' refrain$x
	sed -i 's/^/{/' refrain$x
	sed -i 's/$/}/' refrain$x
x="${x}i"
done

paste accordscolonne refrain* >> $nomfichier
sed -i 's/\t//g' $nomfichier

echo -e "\\\end{flushleft}
\\\dotfill
\\\end{spacing}
%\\\end{multicols}
\\\end{document}" >> $nomfichier

#21 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 17/02/2014, à 19:29

Le Goss
Réponses : 22
nesthib a écrit :

Si tu veux changer ce comportement (avoir #3#4 avec 2 comme argument), remplace « $1 » par « $1+2 » dans les deux boucles for.

C'est fait. Des essais à 1 et 2 couplets sont bons.

#22 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 17/02/2014, à 20:53

Le Goss
Réponses : 22

Bon ben, voilà le script dont je compte me servir.
N'hésitez pas à y apporter vos corrections et votre touche. On peut certainement faire mieux lol
En espérant qu'il vous sera utile. Il peut bien sûr être utilisé à d'autre fins.
Merci pour les retours!

#!/bin/bash

clear
echo -e "Ce script a pour but de générer des pdf de type \"songbook\" à partir de fichiers LaTeX, générés et compilés automatiquement.
"
read -p "Appuyer sur <Entrée> pour commencer:
"

read -p "Nom du fichier (ex: fichier): " nomfichier
read -p "Titre: " titre
read -p "Format du papier (ex: a5): " papier
read -p "Marges en cm (ex: 1.5): " marge
clear
echo -e "Saisie des accords:
-------------------
8 pour dièse;
0 pour bémol;
| (AltGr+6) pour une barre de mesure;
! pour séparer les accords.
Deux ! peuvent se suivre. Aucune espace n'est nécessaire.
Ex: Au clair de la lune:
	|C!|!G7!|C!G7!|C
"
read -p "Accords: " accords
echo $accords >> accords
sed -i 's/!/\n/g' accords
sed -i 's/^/\\commande{\\underline{}}{/' accords
sed -i 's/8/$\\sharp$/' accords
sed -i 's/0/$\\flat$/' accords
sed -i 's/$/}/' accords

cat	accords >> accordscolonne
echo ""
read -p "Combien de couplets? " nombrecouplets

echo -e "\documentclass[$papier paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[frenchb]{babel}
\usepackage{graphicx}
\usepackage{setspace}
\usepackage{color}
\usepackage{multicol}
\setlength{\\\columnseprule}{0.5pt}
\setlength{\\\columnsep}{30pt}
\usepackage{geometry}
\geometry{top=$marge cm, bottom=$marge cm, left=$marge cm, right=$marge cm}" >> $nomfichier.tex


function gen_latex {
PART1=$(for ((i=3; i<=$1+2; i++)) ; do echo -n "#$i" ; done)
PART2=$(for ((i=3; i<=$1+2; i++)) ; do echo -n "\\hbox{#$i}" ; done)
echo "\def\commande#1#2${PART1}{\quitvmode\vbox{\hbox{\scriptsize\bf\textcolor{red}{#1}}\hbox{\scriptsize\bf\textcolor{blue}{#2}}${PART2}}}"
}

gen_latex $nombrecouplets >> $nomfichier.tex

echo -e "
\\\begin{document}
\\\shorthandoff{:}

%\\\begin{multicols}{2}

\\\begin{spacing}{0.8}

\\\section*{$titre}

\\\begin{flushleft}

\\\noindent" >> $nomfichier.tex

echo -e "
Saisie des couplets:
--------------------
Ex: Au clair de la lune:
	Au clair de la!lu-!ne!mon a-!mi Pier-!rot
Possibilité d'insérer les barres de mesures (AltGr+6):
	|Au clair de la!|lu-!ne!|mon a-!mi Pier-!|rot

Dans l'idéal, le nombre de ! est identique pour les accords et les couplets...
"

x=i
for ((i=1;i<$nombrecouplets+1;i++))
do
	read -p "Couplet $x: " contenu
	echo $contenu >> couplet$x
	sed -i 's/!/\n/g' couplet$x
	sed -i 's/^/{/' couplet$x
	sed -i 's/$/}/' couplet$x
x="${x}i"
done

paste accordscolonne couplet* >> $nomfichier.tex
sed -i 's/\t//g' $nomfichier.tex

echo -e "
\\\end{flushleft}

\\\noindent
\\\dotfill

\\\end{spacing}

%\\\end{multicols}

\\\end{document}" >> $nomfichier.tex
pdflatex $nomfichier.tex
evince $nomfichier.pdf

x=i
for ((i=1;i<$nombrecouplets+1;i++))
do
	rm couplet$x
x="${x}i"
done

rm $nomfichier.log
rm $nomfichier.aux
rm accordscolonne
rm accords

#23 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 18/02/2014, à 09:33

Le Goss
Réponses : 22
nesthib a écrit :

Chez moi ça ne fonctionne pas super bien

C'est bien un problème récurrent chez moi que d'écrire des scripts bancals, sans pouvoir apporter une solution.

J'apprends "par hasard" aujourd'hui qu'on peut mettre des valeurs par défaut, qu'on peut se servir de variables au lieu de fichiers temporaires (j'avais fait ce choix faute de mieux).
Manquerait plus que bash fasse le café... big_smile
Je découvre les possibilités du bash de façon empirique, et sans trop savoir où chercher... ni comprendre comment ça fonctionne.
J'ai vraiment du mal à m'y retrouver avec toutes les commandes sed grep awk cat sort etc. sans compter les différentes options attachées à chacune d'elles, les subtilités des pipes et autres astuces.
Sans compter le temps que je perds à multiples essais, qui échouent en grande majorité.
Je finis parfois par croire que le terminal m'en veut.
Et lorsqu'enfin je viens honteusement demander de l'aide sur le forum, c'est parce que la calvitie menace.

Alors, je m'accroche. Mais c'est quand-même dur.

J'arrive pas à trouver un site, et/ou un bouquin, qui puissent m'enseigner progressivement le bash à partir de zéro, sans passer au bout de trois lignes à des trucs sophistiqués, qui me laissent sur place.
Je suis quand-même surpris qu'à une de mes questions, personne ne m'ait répondu, le très poétique RTFM, tellement j'ai l'impression que chez beaucoup (mais pas chez moi), tout vient comme une évidence.
Bon, je veux bien lire un manuel. Mais pour un boulet comme moi, je prends lequel?

#24 Re : -1 »  [Résolu] Bash - création d'une commande latex » Le 18/02/2014, à 21:02

Le Goss
Réponses : 22

Bon! j'ai de quoi lire et de quoi faire.
Merci pour les toyaux!
Merci pour votre aide, cordialement