J'essaie de créer un script qui va passer par plusieurs étapes sur des fichiers spécifiques dans un répertoire. Chaque étape travail fichier à une invite. C'est quand j'utilise 'for' pour travailler sur les fichiers nécessaires qui ne fonctionnent pas.en utilisant 'for' dans le script shell
Voici le script et le fichier texte de départ.
#lab2dno.sh
#
#use cygwin
#cygwin
#work in %RAM%:\
cd '/cygdrive/e'
# delete header lines
tail +4 preg.txt > file1.txt
# split into herdcode.tx1 from %RAM% (e) in bash-3.2
awk -F "," '{close(f);f=$1}{ print > f".tx1" }' file1.txt
#file list (no ext)
ls -1 *.tx1 | sed 's/\(.*\)\..*/\1/' > hc.ls1
# delete extra fields (and rename works @ prompt))
# cut -d "," -f 2,3,6 41300090.tx1 > 41300090.tx2
# this one does not work
for i in hc.ls1; do cut -d "," -f 2,3,6 $i > $i.tx2;done
# reorder fields and rename (works at propmt)
# awk -F, '{ print $2,$3,$1}' *.tx2 > *.tx3
# this one does not work
for i in *.ls1; do awk -F, '{ print $2,$3,$1}' $i > $i.DNO;done
... preg.txt ...
MNDHIA Export
Name,Test Date,ID,Tag,Final Calculation,Symbols (Final Calculation),1,Parachek
41300090,1/25/2013,1636,56439256,-0.008,OPEN,1,Parachek
41300090,1/25/2013,1238,67046268,-0.017,OPEN,1,Parachek
41732189,1/29/2013,304,55567637,-0.006,OPEN,1,Parachek
41732189,1/29/2013,415,55646609,-0.007,OPEN,1,Parachek
Par ailleurs, la '-1' l'option (une seule entrée de répertoire par ligne de sortie) est implicite (c.-à-automatique) lorsque vous lancez 'ls' avec sortie dans un fichier ou un tube. – Scott