#1176 Le 11/11/2010, à 07:31
- kyncani
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Euh, dit voir, par simple curiosité, pourquoi cherches-tu à savoir si il y a une clé usb montée ou pas ?
Hors ligne
#1177 Le 11/11/2010, à 10:43
- michcauch
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Tout simplement parce que ma clef USB est un outil de travail, qu'il m'est arrivé de partir sans. J'y fais attention mais..., pour l'instant la seule réponse que j'avais trouvée c'était d'accrocher mes clefs de salle de classe et USB ensemble, mais ça ne m'a pas empêché un oubli.
Je ne vais quand même pas accroché mon cartable à ma clef USB
Si ce n'est pas possible, ce n'est pas grave, il me faut être moins distrait et oublieux !
Cordialement
Michel
PS : En fait la meilleure solution serait de me passer de clef USB et de transférer mon travail via un courriel (ce n'est pas si rapide que la clef USB) ou mieux via un ENT (espace numérique de travail) sur lequel je pourrais déposer mon travail c'est une habitude qu'il me faut prendre (c'est mieux que la clef USB accrochée au cartable).
Dernière modification par Michel Cauchois (Le 11/11/2010, à 10:45)
Cordialement
Michel
___
Ubuntu 24.04.1 sur Clevo N141WU
En ligne
#1178 Le 11/11/2010, à 13:33
- Hizoka
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
c'est possible, regarde du coté du script de MultiSystem : http://forum.ubuntu-fr.org/viewtopic.php?id=427605
au lancement du logiciel il t'indique les cle usb dispo, le tout en bash.
sinon tu demande simplement à frafa, son createur
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#1179 Le 11/11/2010, à 15:56
- michcauch
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
je teste dès que possible
Merci
Michel
Cordialement
Michel
___
Ubuntu 24.04.1 sur Clevo N141WU
En ligne
#1180 Le 20/11/2010, à 15:17
- Xanatos00
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut,
#!/bin/bash
# Version 0.1
# Auteur : Xanatos
# Description : Script d'aspiration d'une page web pour lecture en local, couplé au module External Applications Buttons de Firefox
# License : Script libre de toute modifications sans l'accord de l'auteur ;)
page=$(zenity --title="" --text="Saisir URL" --width=800 --entry) || exit
#l'url de la page web
path=/votredossiertemporaire
wget -p -nH -nd -E -k -K --ignore-length --limit-rate=20k -P $path $page
# p = télécharger tous les fichiers nécessaires à l'affichage
# nH = Désactive la génération de la racine des répertoires avec le nom de l'hôte
# nd = pas de repertoires
# E = ajout du suffixe .html
# k = convertir liens pour lecture en local
# K = garde le fichier original
# ignore-length = contourne bogue dans « Content-Length »
# limit rate = vitesse maxi de DL
# P = rep de sauvegarde
nomhtml=$(find $path -name "*.html")
#recuperation fichier html
nomdir=$(cat $nomhtml | grep -e "<title>" | sed 's|^.*<title>||' | sed 's|</title>.*||')
#on recupere le titre de la page
if [ "${nomdir}" = "" ]; then
#si il n'a rien trouvé
{
nomdir=$(cat $nomhtml | grep -e "<TITLE>" | sed 's|^.*<TITLE>||' | sed 's|</TITLE>.*||')
#on reteste avec les balises en majuscules
if [ "${nomdir}" = "" ]; then
#s'il ne trouve encore rien
{
nomdir=$(zenity --title="pb titre" --text="pas de <title> correct, mettre titre" --entry) || exit
#input pour rentrer à la main
}
fi
}
fi
bouge=$(mv "${path}" /ouvousvoulez/"${nomdir}")
#on déplace et renomme le dossier avec le titre de la page httml
if [ $? != 0 ]; then
#et comme il peut y avoir des caracteres interdits, on verifie
{
zenity --warning --text="Erreur !" || exit
}
fi
zenity --warning --timeout=1 --text="Terminé" || exit
exit 0;
l'idée étant que je puisse garder une copie en local d'une page web et de son contenu au premier niveau
et que chaque page a son dossier au nom de la page, d'ou la recupération du contenu entre <title> </title>
il y a juste un problème au niveau de l'extension de firefox qui supporte le passage d'url en argument mais qui ne fonctionne pas
et les sites qui mettent un <title> </title> sur plusieurs lignes ...
je suis plus qu' ouvert aux suggestions
Hors ligne
#1181 Le 20/11/2010, à 15:27
- Siap
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
bonjour,
Salut,
#!/bin/bash # Version 0.1 # Auteur : Xanatos # Description : Script d'aspiration d'une page web pour lecture en local, couplé au module External Applications Buttons de Firefox # License : Script libre de toute modifications sans l'accord de l'auteur ;) page=$(zenity --title="" --text="Saisir URL" --width=800 --entry) || exit #l'url de la page web path=/votredossiertemporaire wget -p -nH -nd -E -k -K --ignore-length --limit-rate=20k -P $path $page # p = télécharger tous les fichiers nécessaires à l'affichage # nH = Désactive la génération de la racine des répertoires avec le nom de l'hôte # nd = pas de repertoires # E = ajout du suffixe .html # k = convertir liens pour lecture en local # K = garde le fichier original # ignore-length = contourne bogue dans « Content-Length » # limit rate = vitesse maxi de DL # P = rep de sauvegarde nomhtml=$(find $path -name "*.html") #recuperation fichier html nomdir=$(cat $nomhtml | grep -e "<title>" | sed 's|^.*<title>||' | sed 's|</title>.*||') #on recupere le titre de la page if [ "${nomdir}" = "" ]; then #si il n'a rien trouvé { nomdir=$(cat $nomhtml | grep -e "<TITLE>" | sed 's|^.*<TITLE>||' | sed 's|</TITLE>.*||') #on reteste avec les balises en majuscules if [ "${nomdir}" = "" ]; then #s'il ne trouve encore rien { nomdir=$(zenity --title="pb titre" --text="pas de <title> correct, mettre titre" --entry) || exit #input pour rentrer à la main } fi } fi bouge=$(mv "${path}" /ouvousvoulez/"${nomdir}") #on déplace et renomme le dossier avec le titre de la page httml if [ $? != 0 ]; then #et comme il peut y avoir des caracteres interdits, on verifie { zenity --warning --text="Erreur !" || exit } fi zenity --warning --timeout=1 --text="Terminé" || exit exit 0;
l'idée étant que je puisse garder une copie en local d'une page web et de son contenu au premier niveau
et que chaque page a son dossier au nom de la page, d'ou la recupération du contenu entre <title> </title>
il y a juste un problème au niveau de l'extension de firefox qui supporte le passage d'url en argument mais qui ne fonctionne pas
et les sites qui mettent un <title> </title> sur plusieurs lignes ...je suis plus qu' ouvert aux suggestions
et pourquoi ne pas utiliser cette extension: http://extensions.geckozone.org/UnMHT qui fera ce que tu demandes
Hors ligne
#1182 Le 20/11/2010, à 16:10
- Xanatos00
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
arf, je ne connaissais pas
disons que j'ai pas tellement envie d'être dépendant du bon suivi de l'extension, là avec celle que j'utilise c'est vraiment pour faciliter quand je tombe sur une actu qui m'intéresse, mais je pourrai très bien passer en argument une liste de sites au script
Hors ligne
#1183 Le 21/11/2010, à 03:40
- willcoyote
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
salut
j'aurai encore besoin de vos services
j'ai recupéré un script qui va bien pour convertir les images en jpg
seulement voila , quand il y a un espace dans le nom du fichier , ça ne marche pas
a votre avis , y'a un moyen de régler ce probleme ?
#!/usr/bin/python
import os
import sys
def new_name(file):
os.path.splitext(file)
return '.'.join([os.path.splitext(file)[0],'jpg'])
files = sys.argv[1:]
for file in files:
os.system('convert %s %s' % (file, new_name(file)))
Hors ligne
#1184 Le 21/11/2010, à 05:04
- kyncani
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
seulement voila , quand il y a un espace dans le nom du fichier , ça ne marche pas
J'ai changé la dernière ligne et deux~trois autres trucs.
Assure-toi également d'invoquer le script correctement, par exemple en utilisant le glob "*" du shell (convert-script ./repertoire/*) ou encore en utilisant des quotes autour des noms de fichiers qui ont des espaces.
#!/usr/bin/python
import os
import sys
def new_name(file):
return os.path.extsep.join([os.path.splitext(file)[0],'jpg'])
files = sys.argv[1:]
global_ret = 0
for file in files:
cmd = ("convert", file, new_name(file))
ret = os.spawnvp(os.P_WAIT, cmd[0], cmd)
if ret != 0 and global_ret != 0 : global_ret = ret
sys.exit(global_ret)
Dernière modification par kyncani (Le 21/11/2010, à 05:14)
Hors ligne
#1185 Le 21/11/2010, à 12:44
- willcoyote
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Assure-toi également d'invoquer le script correctement, par exemple en utilisant le glob "*" du shell (convert-script ./repertoire/*) ou encore en utilisant des quotes autour des noms de fichiers qui ont des espaces.
ce script est dans le dossier ~/.gnome2/nautilus-script
je l'utilise avec un clic droit sur mes images=>scripts/convertir-en-jpg
donc je ne peut pas utiliser les quotes
je viens d'essayer avec ta modif et ça marche bien , exactement ce que je voulais
même avec des espaces dans le nom
nickel , je te remercie
Hors ligne
#1186 Le 25/11/2010, à 19:37
- jipelft
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Bonsoir,
Je recherche depuis des heures un script que me permettrais de renommer des fichiers "en masse".
Je m'explique: j'ai des fichiers .avi et .srt qui ne sont pas libellés de la même manière
Exemple: "Bones.S06E01.HDTV.XviD-LOL.avi" et "Bones - 6x01 - The Mastodon in the Room.HDTV.fr.srt"
Sous Windows je prends les deux et les renomme comme je le souhaite genre "Bones 601 The mastodon in the room", et les deux sont renommés d'un coup (les extensions sont cachés par défaut sous win).
Il m'a été impossible d'y arrivé sous nunux
J'ai vraiment cherché partout, installé des logiciels style GPrename, mais je n'ai rien trouver qui me satifasse pleinement.
Comme je débute, cela n'est pas vraiment étonnant
J'ai donc pensé à un script mais rien trouvé non plus.
Y'a t-il un crack dans la salle pour faire cela? du style:
-prendre les fichiers
-clic droit
-rename "comme je le veux"
et cela sans ce préocuper des extensions
D'avance merci à tous !
PS: Linux est vraiment super, même si je piges pas tout !!:lol:
Me manque encore a apprendre beaucoup de chose, notamment à configurer avidemux pour ne plus avoir de décalage de son quand je ripp ma tv.
Hors ligne
#1187 Le 26/11/2010, à 00:27
- Levi59
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
J'ai fait rapidement un petit script. Il répond à ta demande (renommer les avi et srt par 2) mais il ne fait rien d'autre . Tu ne peux sélectionner que 2 fichiers à la fois et il doivent être un avi et un srt,
Tu peux facilement remédier à ca en modifiant ou supprimant certaines parties mais ca sera une bonne façon de t'exercer! Il faut le creer dans:
gedit $HOME/.gnome2/nautilus-scripts/rename
tu y colle ceci:
#!/bin/sh
# Copyright (C) 25 nov. 2010, Rombeaut Rodolphe
# http://scriptam.over-blog.com/
# Released into the public domain.
#
IFS='
'
arg="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
if test $# -ne 2
then
gdialog --title "Infos" --msgbox "il faut deux fichiers" 200 200
exit
else
# gdialog --title "Infos" --msgbox "nombre d'arguments correct" 200 200
for i in $arg
do
bname=$(basename $i)
name=${bname%.*}
ext=${bname##*.}
if [ "$ext" = "avi" -o "$ext" = "srt" ]
then
# gdialog --title "Infos" --msgbox "Fichiers OK, les extensions concordent" 200 200
echo "ok"
if [ "$ext" = "avi" ]
then
text="$name"
echo "ok"
fi
echo "ok"
else
gdialog --title "Infos" --msgbox "Mauvais fichiers, les extensions ne concordent pas" 200 200
break
fi
done
fi
while test -z $newname
do
newname=`gdialog --title "Nouveau nom de fichier" --inputbox "Le fichier avi se nomme $text. Comment voulez-vous nommer les 2 fichiers?" 200 200 2>&1`
if test -z $newname
then
if gdialog --title "Pas de nouveau nom" --yesno "Voulez-vous annuler? (non permet de retapper un nom)" 200 200
then
exit
fi
fi
done
for i in $arg
do
bname=$(basename $i)
ext=${bname##*.}
name=${bname%.*}
# gdialog --title "name" --msgbox "${name}.${ext} ${newname}.${ext}" 200 200
mv -v "${name}.${ext}" "${newname}.${ext}"
done
et tu rend exécutable:
chmod +x $HOME/.gnome2/nautilus-scripts/rename
Il te suffit ensuite de faire "clic droit/Scripts/rename" sur ta sélection.
Bon je suis pas méchant, propose un correction et je te dirais quoi retirer/modifier si c'est encore necessaire! ^^
Hors ligne
#1188 Le 26/11/2010, à 03:42
- jipelft
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@Levi59
YES
C'est exactement ce que je cherchais !!
T'es trop fort.......
Faut vraiment que je me rencarde sur le bash et ces scripts...
Allez hop..on part à la chasse au tuto ..
Encore merci à toi Levi59..
PS: excellent ton blog, hop... mis dans mes favoris
Dernière modification par jipelft (Le 26/11/2010, à 03:56)
Hors ligne
#1189 Le 26/11/2010, à 12:01
- nordinatueur
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Sinon récemment j'ai fait un script qui peut marcher dans les deux sens, il renomme tous les fichiers srt avec les nom des fichiers avi qui sont dans le même dossier, ou l'inverse...
#!/bin/bash
#Couleurs:
rouge='\e[31m'; vert='\e[32m'; jaune='\e[33m'; bleu='\e[34m' ; pourpre='\e[35m'; cyan='\e[36m' gris='\e[37m'; NC='\e[0m';
nomSCRIPT=$(basename $0);
#ln -s avisrt.sh srtavi.sh
if grep -q "avisrt" <<<$nomSCRIPT; then ext_reference=avi; ext_bad=srt;
elif grep -q "srtavi" <<<$nomSCRIPT; then ext_reference=srt; ext_bad=avi;
else exit;
fi;
Usage()
{
echo "$nomSCRIPT -[ahv]";
echo "renomme les fichiers *.$ext_bad en fonction des fichiers *.$ext_reference";
echo " -h : Affiche cette aide.";
echo " -a : Mode actif, renomme les fichiers $ext_bad.";
echo " -c : Mode actif caché, renomme les fichiers $ext_bad et cache les fichiers srt.";
#echo " -m : Mode actif visible, renomme les fichiers $ext_bad et montre les fichiers srt.";
echo " -v : Mode visuel, montre le résultat. [par défaut]";
exit 0;
}
option="x$1";
case $option in
"x-a" ) agir=true; cacher=false; echo $vert"Mode actif"$NC;;
"x-c" ) agir=true; cacher=true; echo $vert"Mode actif caché"$NC;;
"x-h" ) Usage;;
*) agir=false; cacher=false; echo -e $vert"Mode visuel"$NC;;
esac;
IFS=$'\n';
for episode in $( ls -1 *.$ext_reference *.$ext_reference.part 2>/dev/null ) ; do
nom="$(sed -r 's/(.*).'$ext_reference'(.part)?/\1/' <<< "$episode")"
# type de notation :
if egrep -iq "s[0-9][0-9]?e[0-9][0-9]?" <<<"$nom"; then
nS=$(sed -nr 's/.*s([0-9]?[0-9]).*/\1/pI' <<<"$nom" );
nE=$(sed -nr 's/.*e([0-9]?[0-9]).*/\1/pI' <<<"$nom" );
elif egrep -iq "[0-9][0-9]?[-x][0-9][0-9]?" <<<"$nom"; then
nS=$(sed -nr 's/.*([0-9]?[0-9])[-x].*/\1/pI' <<<"$nom" );
nE=$(sed -nr 's/.*[-x]([0-9]?[0-9]).*/\1/pI' <<<"$nom" );
#Manque le type '101';
fi;
#echo $nS :: $nE
nS=$( sed -r 's/^0*//' <<<$nS ); nE=$( sed -r 's/^0*//' <<<$nE );
#echo "Episode $nom: Saison $nS: épisode $nE";
# On cherche un nom de ".srt" contenant les même propriétés saison/épisode
ancien_nom="$( 2>/dev/null ls *.$ext_bad | egrep -i "(s0?${nS}e0?${nE}|0?${nS}[-X]0?${nE})[^0-9]" || echo 'erreur')"
#Si la recherche a réussi :
if [[ $ancien_nom != "erreur" ]]; then
#Si le ".srt" porte déjà le bon nom, on ne fait rien et en informe l'utilisateur.
if [[ "$ancien_nom" = $nom".$ext_bad" ]]; then
echo -e "$jaune$nom$NC déjà effectué...";
#Sinon on affiche le résultat voulu, et on agit ou non, suivant le mode.
elif $agir; then
2>/dev/null mv "$ancien_nom" "$nom.$ext_bad" && echo -e "$jaune$ancien_nom $NC-> $vert$nom.$ext_bad$NC" || echo -e "$rouge $nom $NC: Echec.";
else
echo -e "$rouge$ancien_nom $NC-> $vert$nom.$ext_bad$NC" && echo;
fi;
#Sinon la recherche renvoie une erreur et il est impossible d'agir.
else
echo -e "Aucun fichier '$jaune$ext_bad$NC' correspondant à '$rouge$nom.$ext_reference$NC'.";
fi;
#Si on veut cacher les fichiers srt :
if $cacher; then mv "$nom.srt" ".$nom.srt" 2>/dev/null && echo "$nom.srt caché"; fi;
done
echo -ne $NC;
Si tu utilises l'option "caché" n'oublie pas l'option « sub-fuzziness=1 » pour mplayer que tu peux mettre dans ~/.mplayer/config, pour qu'il veuille voir un fichier qui n'a pas exactement le même nom.
EDIT : À l'avenir, j'aimerais aussi une reconnaissance du nom de la série, pour éviter les problèmes si plusieurs séries sont dans le même dossier. Voir « agrep » pour des recherches plus souples.
Dernière modification par nordinatueur (Le 26/11/2010, à 12:57)
Linux User #508094
Pour une meilleure coopération, utilisez des liens relatifs sur le forum !
Hors ligne
#1190 Le 26/11/2010, à 19:39
- jipelft
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@nordinatueur
Merci, je testerais, là je ne suis pas devant ma bécane nunux mais sous vista.... donc pas de test possible.
@Levi59
Pas de correction à te demander, c'est ce que je recherchais. Peut-etre manque t-il des commentaires pour que je comprenne bien sont fonctionnement, mais sans plus. (je plaisante ...)
Ha !! si, une question idiote: Ca veut dire quoi IFS=' au début du code?
Cordialement à tous deux.
Dernière modification par jipelft (Le 26/11/2010, à 19:40)
Hors ligne
#1191 Le 26/11/2010, à 23:06
- Levi59
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
@Levi59
Pas de correction à te demander, c'est ce que je recherchais. Peut-etre manque t-il des commentaires pour que je comprenne bien sont fonctionnement, mais sans plus. (je plaisante ...)
Ha !! si, une question idiote: Ca veut dire quoi IFS=' au début du code?
Cordialement à tous deux.
Pour la correction, c'était au cas ou tu voudrais appliquer à d'autres formats de vidéo, ou à plus de fichiers en meme temps... Mais si ca te convient comme ça ^^
Pour (sur 2 lignes):
IFS='
'
ou « Internal Field Separator », c'est ce qui défini le séparateur de champ (ici le retour à la ligne) nécessaire dans le cas ou on a à traiter plusieurs lignes (ici les 2 nom de fichier).
Si tu indiques par exemple IFS='a', il découpera ta variable à chaque "a".
Je ne suis plus certain qu'il soit obligatoire dans ce cas mais je préfère l'indiquer quand je fais ce type de traitement.
Hors ligne
#1192 Le 30/11/2010, à 15:57
- Kiwi41
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Salut à tous !
Voici ma petit contrib' dans ce monde de copié collé.
#!/bin/sh
#set -vx
########################################## #
# remplace.sh (v2) #
# Script permettant de remplacer une #
# expression dans tout les fichiers à #
# partir répertoire courant. #
############################################
gestion_arg () {
if [ $# -ne 2 ]
then
echo "Usage : $0 ancien_modtif nouveau_motif"
exit 1
else
echo "$0 $*..."
fi
}
gestion_cr () {
if [ $1 -ne 0 ]
then
echo -e "\033[31m[KO]\033[00m"
else
echo -e "\033[32m[OK]\033[00m"
fi
}
ouinon () {
echo "Voulez-vous faire : $* ? (oui|non)"
read reponse
case $reponse in
oui) $* ;;
non) return 1 ;;
*) ouinon $* ;;
esac
}
remplace_fic () {
for fic in `find . -type f`
do
#-- Remplacement dans le fichier
grep $1 $fic > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Remplacement de $1 par $2 dans $fic :"
ouinon perl -pi -e 's!'$1'!'$2'!g' $fic
gestion_cr $?
fi
#-- Remplacement dans le nom du fichier
fic_cible=`echo "$fic" | perl -pi -e 's!'$1'!'$2'!g'`
if [ "$fic" != "$fic_cible" ]
then
echo "Rennomage de $fic en $fic_cible"
ouinon mv $fic $fic_cible
gestion_cr $?
fi
done
}
remplace_rep () {
for rep in `find . -type d | sort -r`
do
#-- Remplacement dans le nom du repertoire
rep_cible=`echo "$rep" | perl -pi -e 's!'$1'!'$2'!g'`
if [ "$rep" != "$rep_cible" ]
then
if [ -e $rep_cible ]
then
echo "Attention $rep_cible existe déjà !"
gestion_cr 1
else
echo "Renommage du repertoire $rep en $rep_cible :"
ouinon mv $rep $rep_cible
gestion_cr $?
fi
fi
done
}
remplace_lien () {
for lien in `find . -type l`
do
#-- Remplacement dans le lien
ls -l $lien | grep $1> /dev/null 2>&1
if [ $? -eq 0 ]
then
source_lien=`ls -l $lien | awk '{print $11}'`
source_lien_new=`echo $source_lien | perl -pi -e 's!'$1'!'$2'!g'`
cible_lien_new=`echo $lien | perl -pi -e 's!'$1'!'$2'!g'`
echo "Changement du lien $lien -> $source_lien :"
ouinon ln -snf $source_lien_new $cible_lien_new
gestion_cr $?
fi
done
}
gestion_arg $*
remplace_rep $1 $2
remplace_fic $1 $2
remplace_lien $1 $2
Hors ligne
#1193 Le 01/12/2010, à 20:57
- TheCaméléon
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Nautilus script créant un livret A5 (A4 plié en 2) en pdf à partir d'un pdf
Nécessite psutils
#!/bin/bash
for URI in $NAUTILUS_SCRIPT_SELECTED_URIS; do
URI=$(echo "$URI" | cut -c8- | perl -pe "s/\%([A-Fa-f0-9]{2})/pack('C', hex(\$1))/eg;s/\+/ /sg")
out=$(echo "$URI" | sed -e 's/\.pdf$//g')"-book.pdf"
w=$(pdfinfo "$URI" | grep "Page size" | grep -oE "[0-9.]+" | sed -n '1p')
h=$(pdfinfo "$URI" | grep "Page size" | grep -oE "[0-9.]+" | sed -n '2p')
format=$(pdfinfo "$URI" | grep "Page size" | grep -oE "\([0-9a-Z]+\)" | grep -oE "[^()]+")
if [ -z "$format" ];then
pdftops "$URI" - | psbook | psnup -2 -W"$w" -H"$h" | ps2pdf - "$out"
else
pdftops "$URI" - | psbook | psnup -2 -P"$format" | ps2pdf - "$out"
fi
done
exit 0
http://www.pictuga.tk/fiche-340.html (pour la version la plus récente)
Dernière modification par TheCaméléon (Le 01/12/2010, à 20:59)
Hors ligne
#1194 Le 03/12/2010, à 19:00
- Qid
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
j'aurais une demande à formuler : je voudrais une automatisation de la modification du fichier host ... je m'explique :
à la maison je suis en IP fixe avec un serveur pour lequel j'ai renseigné
ses noms de domaine dans mon fichier host du client pour les utiliser en local
seul probleme ... bah c'est un portable ... et donc dès que je suis en exterieur je suis obligé
de commenté la redirection des noms de domaine vers l'ip local ...
alors ? il y a une possibilité qu'il le face tout seul suivant si je suis connecté en IP fixe ou pas
en gros IPFixe = redirection local effective / DHCP = redirection commenté
merci de votre aide
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#1195 Le 03/12/2010, à 19:05
- Levi59
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Tu peux creer un script qui va commenter ou décommenter automatiquement... Quelques sed et ce sera bon.
Hors ligne
#1196 Le 03/12/2010, à 19:19
- Qid
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Tu peux creer un script qui va commenter ou décommenter automatiquement... Quelques sed et ce sera bon.
oui non mais t'es mignon mais si je demande c'est parce que j'y connais rien moi
mais je me doute bien que pour certain ici la chose est facile ... c'est bien pour ça que je vous demande
alors merci pour votre coopération : si je pouvais le comprendre ce serait sympa aussi
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#1197 Le 04/12/2010, à 10:52
- Levi59
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
Je ne suis plus sûr des fichiers de conf à modifier donc si tu pouvais me dire exactement quelles sont tes modifications, ça m'aiderait.
Ensuite comme je disais c'est très simple:
-Soit tu utilise Network manager et il faut créer un script générique
sudo gedit /etc/NetworkManager/dispatcher.d/09confip
[PAS DU SCRIPT]
if réseau = tamaison
sed remplacer # par rien à telle ligne
sed remplacer # par rien à telle ligne2
...
else
sed ajouter # à telle ligne
sed ajouter # à telle ligne2
fi
-Si tu utilise wicd c'est plus simple, tu créer juste un script pour dé-commenter avec les sed pour ton domicile et un autre pour commenter pour les autres réseaux, que tu paramètre dans les préférences de réseau, du style
[PAS DU SCRIPT]
#Maison
sed remplacer # par rien à telle ligne
sed remplacer # par rien à telle ligne2
...
J'essaie de te faire travailler un peu surtout qu'il n'y a pas besoin de beaucoup de connaissance pour faire ce script:
-if - else - fi, iwconfig et sed pour la première possibilité
-uniquement sed pour la deuxième.
Tente de faire une première version et je t'aiderais à corriger. Je te filerais même quelques bonus.
Allez, je suis pas méchant, voila le motif générique pour sed:
sed -i 's/motifatrouver/motifderemplacement/g' /chemindu/fichier
si le motif est une variable, il faut mettre '$x' (avec les guillemets simples)
Hors ligne
#1198 Le 04/12/2010, à 22:00
- Qid
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
J'essaie de te faire travailler un peu surtout qu'il n'y a pas besoin de beaucoup de connaissance pour faire ce script:
-if - else - fi, iwconfig et sed pour la première possibilité
-uniquement sed pour la deuxième.Tente de faire une première version et je t'aiderais à corriger. Je te filerais même quelques bonus.
Allez, je suis pas méchant, voila le motif générique pour sed:sed -i 's/motifatrouver/motifderemplacement/g' /chemindu/fichier
si le motif est une variable, il faut mettre '$x' (avec les guillemets simples)
le souci etant que je connais pas dutout sed
par contre ton motif générique à pas l'aire si compliqué ...
mais pour adapté à un scripte ça me laisse perplexe quand meme
j'avoue que je préfèrerais avoir une trame générique pour me l'adapter à mon cas
pour expliquer plus en détaille en faite l'algorithme semble etre celui-ci :
si ip=DHCP
alors
dans /etc/hosts
supprimer # sur ligne IPServ
sinon
commenter ligne IPServ
finsi
les problemes etant donc :
1) comment repérer le DHCP (ou l'ipfixe suivant le sens)
2) comment commenter ou pas la ligne
3) comment le faire executer avant la connexion
à noter : j'utilise networkmanager voir meme directement le fichier de conf "interface"
merci à toi de t'atarder sur mon cas en tous cas
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#1199 Le 04/12/2010, à 22:37
- Levi59
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
1) Pour ca déjà il faut que je sache si tu es en Wifi ou en ethernet. Si en wifi, la commande iwconfig suffit:
reseau=`iwconfig wlan0 | grep 'essid:"' | cut -d'"' -f2`
si réseau = wifidomicile
ip fixe...
sinon
dhcp...
fin
2) Je viens de faire un script pour un autre utilisateur du forum qui avait une demande proche de la tienne.
C'est pas lancé automatiquement mais via une option en console.
switch pour serveur LTSP
Le principe du script, c'est qu'il modifie 2 fichiers de configuration: /etc/network/interfaces et /etc/default/dhcp3-server. "interfaces" contient toutes les infos pour une connexion en ip fixe. Le script commente ou décommente en fonction de l'option. C'est là que ca peut t'aider.
3)Je ne suis pas sûr de l'ordre pour /etc/NetworkManager/dispatcher.d/00tonscript mais on peut toujours essayer! Au pire, un raccourcie dans la barre des taches...
Hors ligne
#1200 Le 04/12/2010, à 23:28
- Qid
Re : [ VOS SCRIPTS UTILES ] (et eventuelles demandes de scripts...)
1) oui je suis majoritairement en wifi mais j'aurais souhaité au cas ou
que le scripte gere indifféremment la chose que je sois en wifi ou en ethernet
d'ou le fait que je pensais plutot basé le if sur l'IP
3) bah wai mai si il le fait pas tout seul ça risque de revenir au meme que ce que je fais actuellement : édition manuelle
alors d'accord ça me fait faire un peu moins d'action mais je trouverais dommage qu'on y arrive pas
PS : je vais aller voir ton script deja fait pour voir mais j'ai un peu peur que ce soit quand meme trop différent de ma demande
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne