Forum Programmation.shell GNU find: expression régulière?

Posté par (page perso) .
Tags :
1
22
nov.
2012

Bonjour,

Je cherche par une commande find (GNU) "simple" à trouver tous les fichiers vides dont le nom contient exactement 4 chiffres (sous Cygwin).

J'ai regardé la page de man, me suis renseigné un peu sur les expressions régulières, et ai tenté la commande suivante:

find . -type f -empty -name "[0-9]{4}"
Aucun résultat

Bizarrement la commande suivante donne le résultat attendu:
find . -type f -empty -name "[0-9][0-9][0-9][0-9]"

Qu'ai je raté?

Forum Programmation.shell GNU parallel et function zsh

Posté par (page perso) .
Tags : aucun
0
24
oct.
2012

Bonjour,

je souhaite exécuter en parallèle dans un script zsh, avec GNU parallel, une fonction définit dans ce même script comme ceci

#!/bin/zsh

function func {
    echo $1
}
export -f func

func "Hello"
ls . | parallel func

Hors cela ne fonctionne pas, j'obtiens comme message d'erreur "zsh:1: command not found: func". Il y a pourtant bien un export demandé dans la page man de GNU parallel.

Une idée ou une wizarderie ? Parce que j'ai bon chercher et essayer, (...)

Forum Programmation.shell Contrôle de la Freebox V6 par le shell : wifi, reboot ...

Posté par .
Tags :
13
24
oct.
2012

Bonjour,

Ce sujet fait suite au premier sujet que j'avais initialement créé pour contrôler le wifi de la freebox v6.
Vous en retrouverez le fil ici : http://linuxfr.org/forums/programmationshell/posts/activerd%C3%A9sactiver-le-wifi-dune-freebox-v6-depuis-le-r%C3%A9seau-local

J'y ajoute maintenant la possibilité de faire rebooter la freebox à distance.

Pour l'occasion, le script change de nom (fbxCtrl.sh) et la syntaxe des paramètres change légèrement.

Une petite entrée dans la crontab, dans la nuit des mardi/mercredi par exemple, puisque Free délivre ses firmwares le mardi souvent, et hop le tour (...)

Forum Programmation.shell Widget KDE (Plasmoid) pour piloter la freebox V6

Posté par .
Tags : aucun
2
10
oct.
2012

Bonjour,

Il y a plusieurs mois, vicnet parlait d'un script fonctionnant sous Android
via Service Monitor. Je suis intéressé mais le sujet est trop vieux…
Je cherche donc à contacter Vicnet ou quelqu'un utilisant son script pour
pouvoir l'utiliser également.

Merci d'avance

pour me contacter : pascal point salson chez gmail dot com

Ps : je suis également intéressé par tout autre script sous Freebox V6 mais également pour
firmware DD-WRT

Forum Programmation.shell Script bash et espaces dans les noms de fichiers [résolu]

Posté par (page perso) .
Tags : aucun
1
5
oct.
2012

Bonjour,

je travaille à un petit script bash dont la fonctionnalité est de préparer une ligne de commande avec les options qui vont bien en fonction du contexte, puis de l’exécuter. Il s'agit concrètement d'utiliser gpscorrelate pour géo-taguer des photos (documentation ici).

la dernière ligne de mon script est donc
gpscorrelate -g $MonFicgierGPX -z $MaTimeZone -O $Decalage $MaListeDeFichiersPhotos

MaListeDeFichiersPhotos contient les chemins et noms des photos sélectionnées, séparés par des espaces (normal)

Tout fonctionne bien tant qu'il n'y (...)

Forum Programmation.shell Trier une liste sur une partie du nom

Posté par .
Tags :
1
4
oct.
2012

Bonjour,

Je recherche une méthode en SHELL permettant de trier une liste de noms de fichiers. Toutes les commandes de base sont permises (ls, grep, sort, sed, awk, …)

Liste à trier contenu dans le fichier FOO.TXT :

01_ceci_est_le_nom_d_un_fichier_20121004_100000.txt
02_cela_est_un_autre_fichier_20111003_110000.csv
03_encore_un_autre_fichier_20121002_090000.tar
04_et_un_petit_dernier_pour_la_route_20121212_121212.tgz

Il faut que la commande magique puisse trier uniquement sur la partie 'YYYYMMJJ' pour donner :

02_cela_est_un_autre_fichier_20111003_110000.csv
03_et_encore_un_autre_fichier_20121002_090000.tar
01_ceci_est_le_nom_d_un_fichier_20121004_100000.txt
04_et_un_petit_dernier_pour_la_route_20121212_121212.tgz

La seul règle commune aux 4 noms de fichier de la liste est que les noms (...)

Forum Programmation.shell Bash : Conversion date locale - UTC

Posté par (page perso) .
Tags : aucun
0
1
oct.
2012

Je récupère une date dans les données exif d'une photo, par exemple 2010-08-21 11:00:09
Je voudrais le convertir en UTC

Dans l'autre sens (UTC -> locale) je sais faire :

$ date "+%Y-%m-%d %H:%M:%S %Z" -d "2010-08-21 11:00:09 -0000"
2010-08-21 13:00:09 CEST    
$ date "+%Y-%m-%d %H:%M:%S %Z" -d "2010-02-21 11:00:09 -0000"
2010-08-21 13:00:09 CET

Si je connais la situation heure d'été /heure d'hiver de la date en question je sais faire aussi

$ date -u "+%Y-%m-%d %H:%M:%S" -d "2010-08-21 11:00:09
(...)

Forum Programmation.shell Bash : tester des nombres décimaux [Résolu]

Posté par (page perso) .
Tags : aucun
0
29
sept.
2012

Bonjour,

je voudrais tester qu'une variable est un nombre décimal (avec un point comme séparateur décimal) compris entre -90 et 90. En cas de succès l'étape suivante sera de la convertir en degré - minute - seconde.

Mes recherches m'ont amené à considérer la commande bc -l mais je n'y arrive toujours pas.

Une bonne âme aurait-elle la gentillesse de me donner un coup de main ?

Merci d'avance

Forum Programmation.shell test si un fichier image est ouvrable

Posté par .
Tags : aucun
2
28
sept.
2012

Bonjour,
on est vendredi 12h, j'ai faim, et je dois pondre un script mais le cerveau ne veut pas,
alors j'en appelle à la force de la communauté.

La situation :
- soit un ensemble d'images deposées dans une arborescence (pour l'instant 4500images)
- soit une personne qui n'arrivent pas ouvrir certaines de ces images qu'elle doit recuperer.
le transfert se fait bien (ftp, cle usb ou email), le fichier a la bonne taille sur les deux machines

Le probleme (...)

Forum Programmation.shell [résolu] Corriger des liens symboliques en masse

Posté par (page perso) .
Tags : aucun
2
25
sept.
2012

J'ai un gros paquet de liens symboliques dont la destination a changé. Je souhaite modifier ces liens pour qu'ils pointent vers le bon endroit.
Facile !
Hé ben non, je n'y arrive pas :)

Seul un élément du chemin est à modifier :
Les liens sont dans /home/kerro/xxxxxx/ (mélangés à d'autres fichiers)
ancien = /media/yyyy/zzzz/fichier_cible
nouveau = /mnt/yyyy/zzzz/fichier_cible

Il me faut donc faire 'ln -s /mnt/yyyy/zzzzz/fichier_cible /home/kerro/xxxxxx/lien1'
Je tente avec :

find /home/kerro/xxxxx -type l -print0 | xargs -0 -n 1
(...)

Forum Programmation.shell extraction d'un chiffre dans un ligne de donnée (sed?)

Posté par .
Tags : aucun
0
20
sept.
2012

Bonjour,

j'y connais pas grand chose en ligne de commande unix mais j'ai un besoin ponctuel.
Si je pouvais avoir une piste vers laquelle m'orienter rapidement.

J'ai un texte qui ressemble à ceci:
1519 créer une branche toto 23/03/2012 Branch1.0.X : first checkin

je voudrait extraire le chiffre (1519) en début de ligne avec des outils que j'ai sous la main. J'ai commencé par regarder sed mais la syntaxe est un peu ardue.

Quelqu'un aurait une idée ou une syntaxe (...)

Forum Programmation.shell Modifier un fichier avec Awk à partir de données extraites d'un autre fichier

Posté par .
Tags :
0
31
août
2012

Salut !
Alors voilà, j'ai un petit problème à vous soumettre

J'ai un fichier1 avec des données:

Var1.1 Var1.2 Var1.3
Var2.1 Var2.2 Var2.3
Var3.1 Var3.2 Var3.3

Ainsi qu'un fichier2 que j'aimerais modifier à l'aide de ces données:

File2 (origine)

pattern with Var2.1
some text…

File2(modifié)

pattern with Var2.1
Here I want to add Var2.2 and Var2.3
some text

Ma première solution est d'utiliser AWK, mais pour cela, il me faut pouvoir imbriquer une commande bash dedans et d'en récupérer le resultat. (...)

Forum Programmation.shell Récupération d'une chaine dans un fichier

Posté par .
Tags : aucun
1
27
août
2012

Salut,

J'ai dans un fichier le nom d'une base de données que je voudrais mettre dans une variable, mon problème est que je n'arrive pas à récupérer juste le nom de celle-ci.

En utilisant un find et un grep je tombe sur la bonne ligne où se trouve ma base de données.

Le format de la ligne dans laquelle se trouve le nom de la bdd est :

'nom d'une variable'='//'lieu où se trouve ma bdd'/'nom de ma bdd'?options supplémentaires

(...)

Forum Programmation.shell Le plus petit

Posté par .
Tags :
0
23
août
2012

Bonjour !

Je cherche à déterminer lequel des serveurs est le moins chargé pour un script de connexion automatique.

Pour cela, j'ai programmé la récupération de la liste depuis la page du site en php, puis coupé les éléments du fichier inutiles pour ne garder que l'essentiel

grep personnes /tmp/fip_occupation | cut -d '<' -f2 | cut -d '"' -f2

Le résultat :

338 personnes connectées à NL 278 personnes connectées à NL2 128 personnes connectées à NL3 133 personnes connectées
(...)

Forum Programmation.shell Utiliser awk pour calculer la somme d'une ligne jusqu'à une autre.

Posté par .
Tags : aucun
1
15
août
2012

Slt,

J'ai un fichier dont le contenu est le suivant :

02.086
02.095
02.087
02.080
02.080
02.093
02.090
02.085
04.176
03.083
05.252
03.094
03.095
04.095

j'aimerais pouvoir faire la somme d'une ligne donnée comme point de départ et une ligne comme point d'arrivée (pas forcément la dernière ), genre somme de la ligne 7 à 15 . Quelqu'un saurais comment le faire via awk ?

merci

Forum Programmation.shell Activer/désactiver le Wifi d'une Freebox depuis le réseau local : le retour

Posté par .
Tags : aucun
4
10
août
2012

Salut,

depuis ce post de skimpax le 28/11/11 : https://linuxfr.org/forums/programmationshell/posts/activerd%C3%A9sactiver-le-wifi-dune-freebox-v6-depuis-le-r%C3%A9seau-local le script ne semble plus fonctionner.

est-ce que cette méthode pourrait encore fonctionner à présent ?

J'ai pour ma part développé un script Perl pour ça, il fait un POST sur le site officiel de free sur la page wifi :

https://github.com/sputnick-dev/freebox_wifi_on-off

J'utilise une freebox V5, ma méthode doit fonctionner à priori pour toutes les freebox, dites moi si jamais ça marche pas pour vous.

Si je pouvais faire (...)

Forum Programmation.shell Script RadioFrance

Posté par (page perso) .
Tags : aucun
9
9
août
2012

Bonjour,

Un petit script sans prétention à lancer avec Alt+F2 pour accéder aux stations de Radio France rapidement et sans l'interface Flash :

#!/bin/sh

cmdline="vlc"

  case $1 in
    inter)
      $cmdline http://www.tv-radio.com/station/france_inter_mp3/france_inter_mp3-128k.m3u
    ;;
    info)
      $cmdline http://www.tv-radio.com/station/france_info/france_info.m3u
    ;;
    culture)
      $cmdline http://www.tv-radio.com/station/france_culture_mp3/france_culture_mp3-128k.m3u
    ;;
    musique)
      $cmdline http://www.tv-radio.com/station/france_musique_mp3/france_musique_mp3-128k.m3u
    ;;
    fip)
      $cmdline http://www.tv-radio.com/station/fip_mp3/fip_mp3-128k.m3u
    ;;
    mouv)
      $cmdline http://www.tv-radio.com/station/le_mouv_mp3/le_mouv_mp3-128k.m3u
    ;;
    *)
      echo 'Station inconnue!'
   ;;
  esac

exit

Forum Programmation.shell [Optimisation] Mieux vaut utiliser : des programmes ? Ou des fonctions ?

Posté par .
3
6
août
2012

Bonjour,
Je suis en train de réaliser un projet. Et j'ai deux organisations possibles :

1] Config 1 : 1 utilité = 1 prog
(Résultat d'un ls sur le répertoire contenant le programme) :

0xToDec.sh*
decTo0x.sh*
do_clever_relative_resize_for_near_windows2.sh*
do_clever_relative_resize_for_near_windows.sh*
do_clever_relative_resize.sh*
do_close_current_window.sh*
do_minimize.sh*
do_move_in_real_space.sh*
do_relative_move.sh*
do_relative_resize.sh*
do_resize_with_real_dimension.sh*
do_unminimize.sh*
final_focus_next_visible_window.sh*
final_focus_next_window.sh*
final_organise.sh*
final_resize_half.sh*
get_border_for_screen.sh*
get_border_for_window.sh*
get_dimension_for_screen.sh*
get_dimension_for_window.sh*
get_list_of_windows.sh
get_list_of_windows.sh~
#get_next_visible_window_on_workspace.sh#*
get_next_visible_window_on_workspace.sh*
get_next_window_on_workspace.sh*
get_number_of_visible_window_for_workspace.sh*
get_number_of_window_for_workspace.sh*
get_number_of_worspaces.sh*
get_position_for_window.sh*
get_real_dimension_for_window.sh*
get_real_position_for_window.sh*
get_util_dimension_for_screen.sh*
get_visible_windows_on_workspace.sh*
get_windows_near_from.sh*
get_windows_on_workspace.sh*
get_workspace_for_window.sh*
killing_feature.sh*

2] Config 2 : Utilisation d'un fichier "librairie" qui (...)

Forum Programmation.shell commande ls amélioré

Posté par .
1
19
juil.
2012

Bonjour, je voudrais afficher certaines infos via la commande ls

actuellement je fais ceci:

ls -lotr /Data/FIC*20120718* >$HOME/fic.list

et j'obtiens ceci comme résultat:

-rw-r----- 1 webadm 168 Jul 18 01:00 /Data/FIC_20120718_0100.csv
-rw-r----- 1 webadm 168 Jul 18 02:00 /Data/FIC_20120718_0200.csv
-rw-r----- 1 webadm 168 Jul 18 03:00 /Data/FICDATA_20120718_0300.csv

ce que je voudrais c'est juste afficher ceci

01:00 /Data/FIC_20120718_0100.csv
02:00 /Data/FIC_20120718_0200.csv
03:00 /Data/FICDATA_20120718_0300.csv

Forum Programmation.shell Copier tous les fichiers d'une arborescence dans un même répertoire

Posté par .
2
5
juil.
2012

Salut,

J'ai un tas de fichiers texte dans une arborescence, et je voudrais les copier
tous dans un même répertoire de destination, comme ceci:

content/foo.txt           ->      $DEST/foo.txt
content/bar.md            ->      $DEST/bar.md
content/baz/quux.html     ->      $DEST/quux.html
content/baz/foobar.rst    ->      $DEST/foobar.rst
... etc ...

J'ai essayé de faire comme ceci:

find content/ -exec cp -v {} $DEST/`basename {}` ';'

Mais bien entendu, ça n'a pas marché, puisque c'est le shell qui interprétait la
commande basename et pas find

J'ai aussi regardé dans le man (...)

Forum Programmation.shell utiliser des "sous programmes" en shell

Posté par .
Tags : aucun
1
24
juin
2012

Bonjour,
j'ai fais un petit programme en bash : un genre de surcouche pour mon gestionnaire de fenêtres, qui me permet les organiser, les déplacer, redimensionner au clavier.

Mais j'ai un problème, j'ai découpé mon programme en plusieurs fichiers / sous-programmes.
(un prog = une fonction rudimentaire)

Et donc, un programme peut en appeler d'autres, mais comment indiquer le chemin vers les sous-programmes ? (sachant que le lieux d'appel du programme peut changer, et que j'aimerais ne pas me servir de (...)