|
|
|
|
Yo, messires CCmers.
Voilà mon code :
stat -c %y $DATA_DIR/fi.txt > $DATA_DIR/dr.txt;
_dr=`awk 'BEGIN {FS="."} {print $1}' $DATA_DIR/dr.txt`;
_ds=`date +%Y-%m-%d\ %H:%M:%S`;
awk 'BEGIN {FS="\t"} {print $1"\t"$11"\t"$7"\t"$_dr"\t"$_ds"\t0"}' $DATA_DIR/fbon.txt > $DATA_DIR/ffin.txt
RE, re ;o)
_dr=`awk 'BEGIN {FS="."} {print $1}' $DATA_DIR/dr.txt`;
_ds=`date +%Y-%m-%d\ %H:%M:%S`;Le awk doit commencer par:awk -v _dr=$_dr -v _ds=$_ds 'BEGIN ...Pour la suite, Dans awk les variables n'ont pas besoin d'un $ pour etre affichées, ceci est resevé aux lignes et champs de lignes ($0, $1, $2, etc.) donc { print $_dr } esy incorrect, il faut utiliser { print _dr } @++ ...Mana mana Tutudutu... |
Répondre à B@|-|@N
|
Nope, la fonction getline ne me supprime pas la premiere ligne T_T.
awk 'BEGIN {FS="\";getline;} {print $1"\t"$2"\t"$3"\t"$4"\t"$5" "$6" "$7"\t"$8"\t"$9"\t"$10"\t"$11}' $DATA_DIR/fi.txt > $DATA_DIR/fi2.txt;
Sinon j'ai aussi un autre pb : ds=`date +%Y-%m-%d\ %H:%M:%S`;
awk -v dr=$dr -v ds=$ds 'BEGIN {FS="\t"} {print $1"\t"$11"\t"$7"\t"dr"\t"ds"\t0"}' $DATA_DIR/fbon.txt > $DATA_DIR/ffin.txt
En fait, comme vous pouvez le voir, la variable ds est une date (+heure). Or c'est justement l'heure qui me pose pb avec le caractere deux points. awk: cmd. line:1: 15:51:19" awk: cmd. line:1: ^ parse error Comment protéger ma variable ? Car j'ai bien l'impression que c'est cela qui pêche. Il essaye de'interpréter les ":" et cela ne lui réussit pas ^_^. Bahan Close the world.||.txen eht nepO |
Ouh la la.
awk 'BEGIN {FS="\t";getline;} {print $1"\t"$2"\t"$3"\t"$4"\t"$5" "$6" "$7"\t"$8"\t"$9"\t"$10"\t"$11}' $DATA_DIR/fi.txt > $DATA_DIR/fi2.txt;
J'avais oublié le t du \t dans le begin. ^_^ Mais mon second pb perdure quand meme. Bahan Close the world.||.txen eht nepO |