for ((I=0;I<=10;I++)) ;
do a[$I]=$I;
done
for ((I=0;I<=10;I++)) ;
do echo ${a[$I]};
done
Imprimer une ligne sur 3
sed -n '{p;n;n;}' fichier
Imprimer une ligne sur 4
sed -n '{p;n;n;n;}' fichier
Imprime deux lignes sur quatre
sed -n '{p;n;p;n;n;}' fichier
Classement par ordre
sort -g -k1 -r fichier
Réordonner un fichier
Par exemple:
line 1
line 2
...
line n
en:
line1 line2
line3 line4
...
cat fichier | paste - -
Affiche la ligne 40 d'un fichier
sed -n "40p" fichier
Sommer tous les nombres d'une colonne d'un fichier
awk '{sum +=$1} END {print sum}' fichier
fait la somme en valeur absolue
awk '{if ($1 < 0) $1 = -$1} {sum +=$1} END {print sum}' fichier
Sommer les 35000 premiers nombres d'une colonne d'un fichier
awk ' NR < 35000 {sum += $1} END {print sum} ' fichier
Nombre de lignes qui possède la 1ere colonne < 325
awk '$1<325. {print $1}' fichier | wc -l
Sommer les nombres d'une colonne si les valeurs < 325
awk '$1<325 {sum +=$1} END {print sum}' fichier
Imprime les lignes où le mot sampler apparaît
awk '/sampler/{print$0}' fichier
Imprime les lignes où le mot sampler n'apparaît pas
awk '!/sampler/{print$0}' fichier
Remplace dans *.cc abs par fabs
for i in *.cc; do sed 's/ abs(/ fabs(/g' $i > $i.tmp ;rm $i; mv $i.tmp $i ; done
Il y a mieux (sans tmp$i) merci Mister Beau
for i in *.cc;do sed 's/gnagna/tructruc/g' $i | tee > $i