#******************************************
# affiche_dern_ligne : affiche la derniere ligne d'un ensemble de fichier
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
tail -1 $fic
end
#*******************************************
# ajout : ajout d'une colonne dans un fichier
# a partir de la 30eme ligne, rajouter une colonne " -1.00" apres
# le 47eme caractere
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
30,\$ s/^.............................................../& -1\.00/
w
q
FINED
end
#*******************************************
# ajout_caractere : ajout d'un caractere dans un fichier
# a partir de la 6eme ligne, rajouter un blanc apres
# le 45eme caractere
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
6,\$ s/^............................................./& /
w
q
FINED
end
#*******************************************
# Ajout du parametre OXYGENE dans un fichier au format LPO
# Cas ou une station n'est pas comme les autres
# ici OXYGENE est insere avant la NEPHELOMETRIE deja presente
#*******************************************
#! /bin/csh
foreach fic (`ls`)
echo "Fichier traite :" $fic
head -10 $fic > titi
echo "OXYGENE DISS. ml/l" >> titi
echo "NEPHELOMETRIE " >> titi
echo "*(i4,1x,f6.1,1x,f6.1,1x,f6.3,1x,f6.3,1x,f4.2,f7.4)" >>titi
tail +13 $fic | awk '{printf("%4d %6.1f %6.1f %6.3f %6.3f 9.99%7.4f\n",$1,$2,$3,$4,$5,$6)}' >>
titi
mv titi $fic
end
#********************************************
# ajoute_zero : ajoute des zeros en fin de ligne
# Ajoute 3 zeros sur la 8eme ligne d'un fichier
#********************************************
#! /bin/csh
foreach fic (`ls`)
echo "Fichier traite :" $fic
ed $fic <<FINED
8s/\$/000/
w
q
FINED
end
#*******************************************
# change.sh : remplace une chaine par une autre dans un fichier
# La chaine1 est remplacee par la chaine 2.
# Les 2 chaines sont passees en parametres
# Les fichiers d'origines sont gardes avec l'extension %
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
echo $1 $2
if -f $fic then
grep -ni $1 $fic
if $status == 0 then
sed s@$1@$2@g $fic >/usr/tmp/$fic
echo "Saving" {$fic}%
cp $fic {$fic}%
mv /usr/tmp/$fic $fic
echo "Changing" $fic
endif
endif
end
#******************************************
# change_CELCIUS : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/CELCIUS/CELSIUS/g
w
q
FINED
end
#******************************************
# change_GLOBAL : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/GLOBAL PARAMETERS QC FLAGS=1110/GLOBAL PARAMETERS QC FLAGS=1111/
w
q
FINED
end
# ======================================================
# Permet de remplacer H pour heure par :
# Convmed ne peut pas traduire une heure de type 09H15
# il lui faut le format suivant 09:15
# ici l'heure se trouve sur la 12eme ligne du fichier
# le H est le 14eme caractere de la ligne
# ======================================================
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
12 s/^\(.............\)H/\1:/
w
q
FINED
end
#******************************************
# change_LGHT : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s;LIGHT IRRADIANCE (micromol
photon/m2/s) ;LIGHT IRRADIANCE IMMERGED PAR (micromole photon/(m2.s));
w
q
FINED
end
#******************************************
# change_CELCIUS : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/(N.T.U.) /(N.T.U Nephelo Turb.
Unit)/g
w
q
FINED
end
#******************************************
# change_TUR3 : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s;TUR3 LIGHT TRANSMISSION () ;TUR3 LIGHT
TRANSMISSION (%);
w
q
FINED
end
# ======================================================
# Permet de remplacer blancs de l'annee par des zeros
# pour fichiers de format LPO (annee 2000 et 14e ligne)
# ======================================================
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(.........\) /\100/
w
q
FINED
end
#******************************************
# change_avail : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/Availability=C/Availability=P/g
w
q
FINED
end
#*******************************************
# change_caractere : substitution de caracteres a une position fixe
# sur une ligne donnee dans une liste
de fichier
# ici changement de la ligne 14 a la fin du fichier
# remplacement des caracteres 10, 11 et 12 qui sont des blancs par
# 3 zéros (000)
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(.........\) /\1000/
w
q
FINED
end
#******************************************
# change_deg : hange le signe degre en blanc sur la ligne n
# de fichiers
# ici c'est la ligne 17 des fichiers qui est modifiee
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
18 s/°/ /
w
q
FINED
end
#******************************************
# change_depth : remplace une chaine suivie de n caracteres quelconques
# par une autre chaine
# ici c'est DEPH= suivi de 6 caracteres quelconques remplace par
# DEPH= suivi de 6 blancs
#******************************************
#! /bin/csh
foreach fic (`ls $1*.mbt`)
echo "Fichier traite :" $fic
ed $fic <<FINED
#1,\$ s/DEPTH=\?\?\?\?\?\? /DEPTH= /g
1,\$ s/\(DEPTH=\)...... /\1 /g
w
q
FINED
end
#*******************************************
# Heure_1_0 : remplace les blancs d'une heure par 0
# a partir de la 14eme ligne, remplacer les blancs en position 16
# par des zeros ex : 970122 10000 => 970122010000
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
:1,\$ s/^\(........................................................................\)*********/\1999999999/
w
q
FINED
end
#******************************************
# change_flags : change les flags globaux apres extraction Coriolis
#******************************************
#! /bin/csh
foreach fic (`ls *.txt`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/GLOBAL PARAMETERS QC FLAGS=100/GLOBAL PARAMETERS QC FLAGS=111/
w
q
FINED
end
#******************************************
# change_mod : Change les droits des fichiers dans une arborescence
#******************************************
#! /bin/csh
foreach fic (`ls -R`)
chmod 777 $fic
end
#******************************************
# change_navire : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/35FR FRANCE I/XXXX UNKNOWN/
w
q
FINED
end
#*******************************************
# change-neg : substitution d'une chaine de caractere negative en une
# chaine de caractere 9.999e+99 dans un
# fichier de donnees .cnv a partir de la 91 eme ligne
# a partir du caractere 90 au caractere 99
#*******************************************
#! /bin/csh
foreach fic (`ls *cnv2`)
echo "Fichier traite :" $fic
ed $fic <<FINED
91,\$ s/^(..........................................................................................)-(..........)/\1 9\.999e+99/
w
q
FINED
end
#******************************************
# change_pres : remplace une chaine par une autre chaine
# ici c'est * PRES par *PRES
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/* PRES/*PRES/
w
q
FINED
end
#******************************************
# change_shom : remplace une chaine fixe par une autre
#******************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
3 s/35 SHOM/35 EPSHOM/
w
q
FINED
end
#******************************************
# change_texte : change le texte sur une ligne donnee dans un ensemble
# de fichiers
# ici c'est la ligne 6 des fichiers qui est modifiee
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
6 s/Sept/09/
w
q
FINED
end
#******************************************
# change_depth : remplace une chaine suivie de n caracteres quelconques
# par une autre chaine
# ici c'est DEPH= suivi de 6 caracteres quelconques remplacé par
# DEPH= suivi de 6 blancs
#******************************************
#! /bin/csh
foreach fic (`ls 36000111.bot`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/TIME=\?\?\?\? /TIME=9999 /g
w
q
FINED
end
#*******************************************************
# change_valeur : change la valeur 1.000e-02
#dans les fichiers.cnv2 en la valeur par defaut
#9.999e+99, ceci a partir de la ligne 68 de chaque fichier.
#*******************************************************
#! /bin/csh
foreach fic (`ls *.cnv`)
echo "Fichier traite :" $fic
ed $fic <<FINED
68,\$s/1\.000e-02/9\.999e+99/
w
q
FINED
end
#!/bin/csh
foreach i (`ls *`)
echo $i
dos2unix $i $i.1
mv $i.1 $i
end
#!/bin/csh
foreach i (`ls *`)
echo $i
unix2dos $i $i.1
mv $i.1 $i
end
#*******************************************
# cherche_et_copie : Cherche un ensemble de fichier dans une
# arborescence et les recopie dans un seul repertoire
#*******************************************
#! /bin/csh
foreach fic (`find . -name "*_0.nc" -print`)
echo "Fichier traite :" $fic
cp $fic /home6/begmeil/sismer/physique/adcp/exploitation/fichiers_osite_0
end
#############################################
# s1 : concatene les lignes des fichiers - les n lignes d'entete d'un
repertoire
###########################################
#!/bin/csh
if($1 == '') then
echo "s1 : concatene les lignes des fichiers .ctd - les n lignes d'entete"
echo "Usage : s1 <no ligne> <ficresultat>"
echo "Exemple : s1 5 toto "
exit 0
endif
endif
foreach i (`ls *.ctd`)
tail +$1 $i >> $2
end
#******************************************
# cpt_ligne : compte les lignes des fichiers d'un repertoire et
# l'affiche a l'ecran
#******************************************
#!/bin/csh
foreach i (`ls *`)
echo $i
cat $i | wc -l
end
#*******************************************
# date_0 : remplace les blancs d'une date par 0
# a partir de la 14eme ligne, Remplacer les blancs en position 10 par
# des zeros
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(.........\) /\10/
w
q
FINED
end
#*******************************************
# date_0 : remplace les blancs d'une date par 0
# a partir de la 14eme ligne, Remplacer les blancs en position 10,11 par
# des zeros
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(.........\) /\100/
w
q
FINED
end
#*******************************************
# date_0 : remplace les blancs d'une date par 0
# a partir de la 14eme ligne, Remplacer les blancs en position 10,11,12 par
# des zeros
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(.........\) /\1000/
w
q
FINED
end
#********************************************
# Effacer la derniere ligne d'un ensemble de fichiers
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
\$d
w
q
FINED
end
#*******************************************
# Effacer toutes les lignes d'un fichier(fic1) qui commencent par " 3"
# et recopier ce nouveau fichier dans fic2
#*******************************************
grep -v "^ 3" lst.lst > fic2
#******************************************
# del_ligne_blanche : efface toutes les lignes blanches dans
# un ensemble de fichier
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$g/^\$/ .d
w
q
FINED
end
#******************************************
# del_ligne_chaine : Effacer toutes les lignes qui commencent
# par une chaine de
caracteres
# ici la ligne commence par END
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
/^END/d
w
q
FINED
end
#********************************************
# del_premiere_ligne : Effacer la premiere ligne d'un ensemble de fichiers
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1d
w
q
FINED
end
#############################################
# deldouble.csh : Efface des fichiers identiques dans un meme repertoire
#
# pour le jouer sans la suppression : deldouble.csh -t
############################################
#!/bin/csh
foreach fic ( `ls -d *.b` )
if ( -f $fic ) then
foreach fic2 ( `ls -d ${fic}*` )
if ( -f $fic2 ) then
if ( $fic != $fic2 ) then
cmp $fic $fic2 >>& /dev/null
if ( $status == 0 ) then
echo "$fic $fic2 identiques, suppression de $fic2"
if ( ${1} != "-t" ) then #Un argument --> test uniquement
rm $fic2
>>& /dev/null
if ( $status >
0 ) then
echo "Echec de suppression du fichier $fic2, doublon de $fic !"
endif
endif
endif
endif
endif
end
endif
end
############################################
#delfinligne : supprime la fin du ligne apres la chaine txt
############################################
#! /bin/csh
foreach fic (`ls copie*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
:1,\$s/txt\(................................................................................\)/txt/
w
q
FINED
end
#*********************************************
# excol
# Date : 22/08/94
#
# Transforme un fichier au format echange LPO en un fichier au meme format
# mais avec des colonnes en moins
#
# lancer par excol racine_nom_de_fichier : excol 91002711 (par exemple)
#*********************************************
# POUR chaque fichier d'une liste
# Lancer ed
# Remplacer le nombre de parametres sur la ligne 4
# 4s/^\(.............. ...
# Effacer les lignes des parametres supprimes
# /TEMP POTENTIELLE/d
# /SIGMA/d
# Remplacer la ligne de l'ancien format des donnees par le nouveau format
# /*(i4/s/*(i4,1x,f6.1,1x,f7.3,1x,f ...
# Supprimer les colonnes des parametres qu'on ne veut pas garder
# /*(i4/+1,\$s/\(....\) \(......\) \(.......\) ...
# Ecrire le nouveau fichier
# Quitter
# FINPOUR
#*********************************************
#! /bin/csh
foreach fic (`ls $1*`)
echo "Fichier traite :" $fic
ed $fic <<FINED
4s/^\(.....................................\)6/\14/
/SIGMA/d
/HAUT DYN/d
/*(i4/s/*(i4,1x,f6.1,1x,f9.4,1x,f9.4,1x,f9.4,1x,f9.4,1x,f9.4)/*(i4,1x,f6.1,1x,f9.4,1x,f9.4,1x,f9.4)/
/*(i4/+1,\$s/\(....\) \(......\) \(.........\) \(.........\) \(.........\) \(.........\) \(.........\)/\1 \2 \3 \4 \7/
w
q
FINED
end
#! /bin/csh
#############################################
# Generation des plans de positions postscript a partir
# des limites geographiques saisies dans le serveur
# ou du plan de route si il y a des donnees
# pour les campagnes de la liste placee dans le fichier
# nomme en argument
# Usage : genere_plp nomficliste
# Les fichiers sont crees dans le repertoire courant
# Ces fichiers .gif sont a copier dans :
# ........../www/public/catal/campagne/plangks
# Enfin faire un delete des fichiers .gif dans le repertoire
# courant
#############################################
if ( $#argv != 1 ) then
echo "usage : genere_plp nomficliste"
exit(1)
endif
#
foreach cam (`cat $1`)
echo "generation du plan de position de la campagne : " $cam
PPLP60 serveur serveur $cam F $cam.ps
echo Conversion du fichier $cam.ps en $cam.gif
convert -geometry 500x600! -page 600x580+36+36 $cam.ps $cam.gif
echo Suppression du fichier $cam.ps
rm -f $cam.ps
echo Copie du fichier $cam.gif sur le WEB
end
#! /bin/csh
#############################################
# Generation des plans de positions postscript a partir
# des limites geographiques saisies dans le serveur
# ou du plan de route si il y a des donnees
# pour les campagnes de la liste placee dans le fichier
# nomme en argument
# Usage : genere_plp nomficliste
#############################################
if ( $#argv != 1 ) then
echo "usage : genere_plp nomficliste"
exit(1)
endif
#
foreach cam (`cat $1`)
echo "generation du plan de position de la campagne : " $cam
PPLP60 serveur serveur $cam F $cam.ps
end
#*******************************************
# Heure_1_0 : remplace les blancs d'une heure par 0
# a partir de la 14eme ligne, remplacer les blancs en position 16
# par des zeros ex : 970122 10000 => 970122010000
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(...............\) /\10/
w
q
FINED
end
#*******************************************
# Heure_5_0 : remplace les blancs d'une heure par 0
# a partir de la 14eme ligne, remplacer les blancs en position 16,17,18,19,20
# par des zeros ex : 970122 0 => 970122000000
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
14,\$ s/^\(...............\) /\100000/
w
q
FINED
end
############################################
# minmax : extrait le min et le max d'une ou de ttes les col d'un fic
############################################
#!/bin/csh
if($#argv != 3) then
echo "Usage : minmax <1 ou 0> <nb col> <ficentree>"
echo "Exemple : minmax 1 5 toto "
exit 0
endif
if (($1 != '1') && ($1 != '0')) then
echo "Usage : minmax 1/T <nb col> <ficentree>"
echo "Usage : entrer 1 pour une colonne ou 0 pour toutes"
exit 0
endif
set max=`wc $3|awk '{print $1}'`
if ($1 == '1') then
awk 'BEGIN{i="'$2'"}{print $i}' $3 > a
sort -nu a > b
set nb_diff=`wc b|awk '{print $1}'`
echo "colonne" $2 ":" $nb_diff "valeurs differentes sur " $max
echo "valeurs min:"
head -5 b
echo "valeurs max:"
tail -5 b
else
set x=0
while ($x<$2)
set x=`expr $x + 1`
awk 'BEGIN{i="'$x'"}{print $i}' $3 > a
sort -nu a > b
set nb_diff=`wc b|awk '{print $1}'`
echo "colonne" $x ":" $nb_diff "valeurs differentes sur " $max
echo "valeurs min:"
head -5 b
echo "valeurs max:"
tail -5 b
end
endif
############################################
# mpline : affiche la ligne <no ligne> de tous les fichiers
# contenant <nomfic> dans leur nom.
############################################
#!/bin/csh
if($1 == '') then
echo "Usage : mpline <no ligne> <nomfic>"
echo "Exemple : mpline 5 89002211"
exit 0
endif
if($2 == '') then
echo "Usage : mpline <no ligne> <nomfic>"
echo "Exemple : mpline 5 89002211"
exit 0
endif
foreach i (`ls *$2*`)
head -$1 $i | tail -1
end
############################################
# mpline1 : affiche la ligne <no ligne> de tous les fichiers
# d'un
repertoire
############################################
#!/bin/csh
if($1 == '') then
echo "Usage : mpline1 <no ligne>"
echo "Exemple : mpline1 5 "
exit 0
endif
endif
foreach i (`ls *`)
head -$1 $i | tail -1
end
############################################
# mpline2 : affiche la ligne <no ligne> de tous les fichiers
# d'un repertoire dont l'extension est
<extension>
############################################
#!/bin/csh
if($1 == '') then
echo "Usage : mpline2 <no ligne> <extension>"
echo "Exemple : mpline2 5 .cnv"
exit 0
endif
if($2 == '') then
echo "Usage : mpline2 <no ligne> <extension>"
echo "Exemple : mpline2 5 .cnv"
exit 0
endif
foreach i (*)
echo "fichier:" $i
head -$1 $i | tail -1
end
#! /bin/csh
foreach fic (`ls *`)
echo $fic >> aeiou
grep "RECORD LINES=" $fic | wc -l >> vwxyz
end
paste aeiou vwxyz > nb_stations
rm aeiou vwxyz
#!/bin/csh
foreach i (`ls $1`)
echo $i
grep DATE $i | wc -l
end
#******************************************
# queue : affiche la derniere ligne d'un ensemble de fichiers ayant
# l'extension <extension>
#******************************************
#!/bin/csh
if($1 == '') then
echo "Usage : queue <extension>"
echo "Exemple : queue .cnv"
exit 0
endif
foreach i (*$1)
tail -1 $i
end
#*******************************************
# renomme : renomme fichier en fichier2
#*******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
set tmp = ${fic}2
mv $fic $tmp
end
#******************************************
# rm_col : enleve une colonne d'un ensemble de fichiers
#
# ici on enleve la 2eme colonne
#******************************************
#! /bin/csh
foreach fic (`ls`)
echo "Fichier traite :" $fic
tail +1 $fic | awk '{printf("%4d %5.2f %6.2f %3d %5.2f\n",$1,$3,$4,$5,$6)}' >> titi
mv titi $fic.1
end
############################################
# script2 : extrait le min et le max d'une col d'un fic
############################################
#!/bin/csh
if($# == 1) then
echo "extrait le min et le max d'une col d'un fic"
echo "Usage : script2 <no col> <ficentree>"
echo "Exemple : script2 5 toto "
exit 0
endif
echo "colonne" $1 ":"
awk '{i="'$1'";print $i}' $2 > a
sort -nu a > b
echo "valeurs min:"
head -5 b
echo "valeurs max:"
tail -5 b
############################################
# s4 : compte les nombres de lignes de donnees
############################################
#!/bin/csh
if($1 == '') then
echo "s4 : compte les nombres de lignes de donnees "
echo "Usage : s4 <nb col> <ficentree>"
echo "Exemple : s4 5 toto "
exit 0
endif
mpline1 2 > a
echo "nb de lignes : "
awk 'BEGIN {x=0}{x=x+}END {print x}' a
############################################
# tri les valeurs d'une colonne et supprime les doublons en ajoutant le nombre d'occurence trouvees
############################################
#!/bin/csh
if($1 == '') then
echo "tri les valeurs d'une colonne (separe par des blancs) et supprime les doublons en
ajoutant le nombre d'occurence trouvees"
echo "donner le num de colonne, le fichier en entree et en sortie"
exit 0
endif
awk 'BEGIN {i="'$1'"}{print $i}' $2 > tmp_a
sort tmp_a > tmp_b
awk 'BEGIN {x=1;n="depart"} {if($0!=n){if(n!="depart"){print n " : " x} ; x=1;n=$0} else {x++}} END {print n x}' tmp_b >$3
rm tmp_a
rm tmp_b
echo "fin : resultats :"
head -3 $3
tail -3 $3
#******************************************
# supcar_debut : supprime les n premiers caracteres de chaque ligne
# d'un ensemble de fichiers
# ici les 7 premiers caracteres
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/^.......//
w
q
FINED
end
#******************************************
# supcar_fin : supprime les n derniers caracteres de chaque ligne
# d'un ensemble de fichiers
# ici les 13 derniers caracteres
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/.............\$//
w
q
FINED
end
############################################
# supcol : on supprime les n premieres ligne d'un fichier et
# on ne garde que les x premieres colonnes d'un
# ensemble de fichiers de donnees
# ici on efface les lignes 1 a 8 et on garde les colonnes 1, 2 et 3
############################################
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,8d
1,\$s/\(......\) \(......\) \(......\) .*\$/\1 \2 \3/
w
q
FINED
end
#******************************************
# vire_blanc : efface les blancs de debut de ligne
#******************************************
#!/bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
mv $fic $fic.dat
sed -e "s/^ *//" $fic.dat >$fic
end
#******************************************
# vire_blanc_fin : efface tous les blancs de fin de
ligne
#******************************************
#! /bin/csh
foreach fic (`ls *`)
echo "Fichier traite :" $fic
ed $fic <<FINED
1,\$ s/ *\$//
w
q
FINED
end