Action {} avec variable 'i' (i = tous les mots) - compter les mots
awk '{i+=NF} END {print i}' in.txt
Action {} avec variable 'i' (i = un pattern) - compter les pattern
awk '/pattern/ {i++} END {print i}' in.txt
Tableau source multiple de frequence : de tous les mots
awk '{for(i=1;i<=NF;i++) f[$i]++} END {for (j in f) print f[j]" fois "j}' in.txt
Tableau source multiple de frequence : d'un pattern
awk '{if($1=="pattern") f[$1]++} END {for (j in f) {print f[j] " fois " j}}' in.txt
Tableau source multiple : reduire le tableau a chaque mot unique
awk '{for(i=1;i<=NF;i++) f[$i]=$i} END {for (i in f) print i}' in.txt
Tableau defini par le numero de ligne et le nombre de caracteres de chaque ligne
awk '{f[NR]=" nb car " length($0) " " $0} END {for(i=1;i<=NR;i++) {printf ("%5d %s\n",i " ",f[i])}}' in.txt
while read line
@fichier:
(100)_F0
(101)_F1
(102)_F2
@script 1
num=0
while read line
do
num=$((num+1))
echo ${line%%_*}
done < fichier
@résultat 1: avant l'underscore "_"
(100)
(101)
(102)
@script 2
num=0
while read line
do
num=$((num+1))
echo ${line##*_}
done < fichier
@résultat 2: après l'underscore "_"
F0
F1
F2
Ajout d'une option
Utilisation d'une variable
ls | awk -v x=variable '{print x,$0}'
next
awk '$0 !~ /pattern/ {next} {print NR,$0}' in.txt
grep -n "pattern" in.txt
exit
awk '$0 ~ /pattern/ {exit} {print NR,$0}' in.txt