|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Bonjour,
je suis sous Solaris et AIX: Y a t'il un moyen + simple de centrer un texte que de faire de multiple calculs (nombre de caracteres-80/2 puis rajout d'autant de blanc en debut de ligne) ? Merci par avance |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Ozzii wrote in message <mn.829d7d719bee6c66.67192@internet.com>:
> Y a t'il un moyen + simple de centrer un texte que de faire de multiple > calculs (nombre de caracteres-80/2 puis rajout d'autant de blanc en > debut de ligne) ? Selon la situation: \begin{center} Ton texte. \end{center} ou bien: <div style="text-align:center"> Ton texte. </div> Dans le dernier cas, il vaudrait mieux définir une classe particulière, et utiliser un style global. Il y a évidemment d'autres solutions. |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
* Ozzii <email@internet.com> in fr.comp.os.unix:
> je suis sous Solaris et AIX: Y a t'il un moyen + simple de centrer un > texte que de faire de multiple calculs (nombre de caracteres-80/2 puis > rajout d'autant de blanc en debut de ligne) ? Le plus direct est sans doute la commande :center de vim, mais évidemment, cela nécessite qu'il soit installé. Sinon, quelques solutions perl ou awk sont données dans ce fil de discussion : http://groups.google.fr/group/comp.e...b1f52b5c293ab/ Ainsi que : http://www.linuxjournal.com/articles...79/2479l1.html Certains systèmes ont également une commande center qui réalise le centrage directement... -- DW |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
2007-01-16, 11:09(+01), Ozzii:
[...] > je suis sous Solaris et AIX: > Y a t'il un moyen + simple de centrer un texte que de faire de multiple > calculs (nombre de caracteres-80/2 puis rajout d'autant de blanc en > debut de ligne) ? [...] command -p awk '{printf "%*s\n", 36+length/2, $0}' n'est pas si compliqué. Sinon: sed -e :1 -e '/.\{72\}/b2' -e 's/.*/ & /;b1 -e :2 -e 's/ *$//' -- Stéphane |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Ceci fonctionne très bien pour un fichier en entrée.
Cependant, j'aimerais faire cela dans une fonction directement dans le script où je veux centrer le ligne. Donc je fais ceci : function CENTRE { printf '%s\n' "$1"|nawk '{ printf "%*s\n", 36+length/2, $0 }' } LIGNE="ENTETE" CENTRE $LIGNE Est-ce que c'est correct ou j'ai un moyen plus simple (ou mieux car le awk c'est pas mon fort)? En fait j'utilise le nawk car le awk sous Solaris me fait des erreurs. On Jan 16, 1:37 pm, Stephane Chazelas <cette.adre...@est.invalid> wrote: > 2007-01-16, 11:09(+01), Ozzii: > command -p awk '{printf "%*s\n", 36+length/2, $0}' |
|
|
|
#6 |
|
Messages: n/a
Hébergeur: |
2007-01-16, 08:58(-08), ozzii:
> Ceci fonctionne très bien pour un fichier en entrée. > Cependant, j'aimerais faire cela dans une fonction directement dans le > script où je veux centrer le ligne. Donc je fais ceci : > > function CENTRE > { > printf '%s\n' "$1"|nawk '{ > printf "%*s\n", 36+length/2, $0 > }' > } > LIGNE="ENTETE" > CENTRE $LIGNE > > Est-ce que c'est correct ou j'ai un moyen plus simple (ou mieux car le > awk c'est pas mon fort)? > En fait j'utilise le nawk car le awk sous Solaris me fait des erreurs. [...] Pourquoi utiliser la syntaxe ksh des fonctions? centre() { for i do printf '%*s\n' "$(( ($#i + ${COLUMNS:-80} - 8) / 2))" "$i" done } centre a aa aaa aaaa -- Stéphane |
|
|
|
#7 |
|
Messages: n/a
Hébergeur: |
car comme j'ai 2 système (Solaris et AIX), c'est + simple. De + j'ai
appris tout seul le script (pas parfaitement) en regardant des choses existantes. Merci pour la commande. On Jan 16, 9:02 pm, Stephane Chazelas <cette.adre...@est.invalid> wrote: > 2007-01-16, 08:58(-08), ozzii: > > > Ceci fonctionne très bien pour un fichier en entrée. > > Cependant, j'aimerais faire cela dans une fonction directement dans le > > script où je veux centrer le ligne. Donc je fais ceci : > > > function CENTRE > > { > > printf '%s\n' "$1"|nawk '{ > > printf "%*s\n", 36+length/2, $0 > > }' > > } > > LIGNE="ENTETE" > > CENTRE $LIGNE > > > Est-ce que c'est correct ou j'ai un moyen plus simple (ou mieux car le > > awk c'est pas mon fort)? > > En fait j'utilise le nawk car le awk sous Solaris me fait des erreurs.[....] > > Pourquoi utiliser la syntaxe ksh des fonctions? > > centre() { > for i do > printf '%*s\n' "$(( ($#i + ${COLUMNS:-80} - 8) / 2))" "$i" > done > > }centre a aa aaa aaaa > > -- > Stéphane |
|
![]() |
| Outils de la discussion | |
|
|