Bash: cp/mv fichiers dans leur repertoires

Résolu
snow_frog Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

voilà mon problèmes:

Dans un script.sh
Je souhaiterai pouvoir copier un fichier dans son repertoire associé:

niveau/test> ll
niveau_loire_janv_01_std1_data/
niveau_loire_janv_01_day_results.txt
niveau_loire_janv_02_std1_data/
niveau_loire_janv_02_day_results.txt


donc ce que je souhaite, c'est pouvoir copier niveau_loire_janv_01_day_results.txt dans le repertoire niveau_loire_janv_01_std1_data/

j'ai bien un début de script, mais je bloque pour définir le repertoire de destination
#!/bin/bash

FORMAT="./*_day_results.txt"

for i in $FORMAT ; do

cp $i ${i%.*}_std1_data   # là commence mon problème pour définir le reprtoire de destination

echo "this file: $i  has been copied into 
done
exit


une idée ?
A voir également:

4 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

cp "${i}" "${i%day*}"std1_data

3
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
[test]$ echo ${A}
niveau_loire_janv_01_day_results.txt

[test]$ echo ${A%day*}
niveau_loire_janv_01_

[test]$ echo ${A/\./_imported.}
niveau_loire_janv_01_day_results_imported.txt

[test]$ 

;-))
2
snow_frog Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   139
 
merci!

petite question bonus:

pour copier le fichier dans le repertoire tout en le renomant:

est-ce que ça, ça fonctionne ? (je n'ai pas de terminal pour tester sous la main)

cp "${i}" "${i%day*}"std1_data/${i%.*}_imported.${i#*.}


sinon comment obtenir:

niveau/test> ll
niveau_loire_janv_01_std1_data/
niveau_loire_janv_01_day_results.txt
niveau_loire_janv_02_std1_data/
niveau_loire_janv_02_day_results.txt
niveau/test> ./script.sh       # execution du script
niveau/test> ll niveau_loire_janv_01_std1_data/
niveau_loire_janv_01_day_results_imported.txt
0
snow_frog Messages postés 216 Date d'inscription   Statut Membre Dernière intervention   139
 
une fois de plus merci!

ma solution en marcherai pas ?
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Si si ;-))

[test]$ echo ${i%day*}"std1_data/${i%.*}_imported.${i#*.}"
niveau_loire_janv_01_std1_data/niveau_loire_janv_01_day_results_imported.txt

[test]$ echo ${i%day*}"std1_data/${i/\./_imported.}"
niveau_loire_janv_01_std1_data/niveau_loire_janv_01_day_results_imported.txt

[test]$
0