salut,
aidez moi a ecrire un shell script permettant de nommer tous les fichiers *.dat en *.data
je vous remercie en avance
Version imprimable
salut,
aidez moi a ecrire un shell script permettant de nommer tous les fichiers *.dat en *.data
je vous remercie en avance
, non?Code:mv *.dat *.data
est ce que je peux faire:
Code:
1
2
3
4
5
6
7
8
9
10
11
12 #! bin/csh dir = $(pwd) dir = $1 for i in $ (ls -l "$dir") do if [-n "$(echo $i |grep -E '\.dat$')"] && [-f $i] then mv $i $(echo $i | sed 's/\(.*\)\.[^\.]\+$/\1/')".data" fi done
Salut,
Ceci ne fonctionne pas:
Citation:
mv *.dat *.data
Voici une suggestion:
Code:
1
2
3
4
5
6
7
8
9
10 #!/bin/sh sourceExt='.dat' targetExt='.data' for file in `ls *${sourceExt}` do mv $file `basename $file ${sourceExt}`${targetExt} done
je te remercie ça marche tré bien .
je voudrais ecrire un autre script-shell qui génère un fichier qui contient i sur sa i ème ligne, et qui prend comme paramètres le nom du fichier de sirtie ainsi que le nombre de lignes du fichier.
je te remercie en avance
Pour ta première question, tu peux faire simplement :
Code:
1
2rename .dat .data *.dat
Pour ta deuxième question :
avecCode:
1
2
3
4
5
6
7
8
9
10 #!/bin/bash declare -i x for (( x=1 ; x<=$2 ; x++ )) ; do echo $(( x )) >>"$1" done exit
argument 1 = le nom du fichier
argument 2 = le nombre de lignes