2012-03-08 7 views
0

Scénario:Script Bash pour xls2csv

Un dossier dans le système Linux. Je veux parcourir chaque fichier .xls dans un dossier.

Ce dossier comprend généralement différents dossiers, différents types de fichiers (.sh, .pl, .csv, ...).

Tout ce que je veux faire est de parcourir tous les fichiers de la racine et d'exécuter un programme uniquement sur les fichiers .xls.

xls2csv est le programme que je dois exécuter

par exemple:

j'ai 300 répertoires/home/ftp_account/user1 jusqu'à user300 w/c contient des fichiers .xls dans chaque dossier, je veux pour convertir tous les fichiers .xls déplacent ensuite les fichiers convertis à/home/ftp_account/user1/converti

prendre note: les fichiers convertis pour user1 ira à/home/ftp_users/user1/converti

fichiers pour user2 seront aller à/home_ftp_users/user2/convert ed fichiers pour utilisateur3 ira à/home_ftp_users/user3/converti etc ....

S'il vous plaît aider!

Merci les gars :)

Répondre

3
#!/bin/bash 
for dir in /home/ftp_users/user{1..300}; do 
    for file in $dir/*.xls; do 
    fn=$(basename ${file}) 
    fn=${fn%.*} 
    mkdir -p $dir/converted 
    xls2csv $file > $dir/converted/${fn}.csv 
    done 
done