Eléments de correction du TP 4
Partie I : AWK
Exercice 1 :
Application directe du cours, les solutions se
trouvent toutes dans man awk
Exercice 2:
if test $# -eq 1
then
for i in cat $1
do echo $i >fd
sed '/[A-Z][A-Z][A-Z][A-Z]*/ w fgggg'
fd>fdq
cat fgggg
done
else
echo appel incorect
fi
Exercice 3:
ls-l | awk ‘{$1== ”*-r-” {print $3}’
ou
Advertisement
ls-l | awk ‘/^…….-r-/ {print $3}’
Exercice 4:
ls-lR | awk ‘($1== ” *-r-” {print $2\n}’>f1
for i in cat ”f1”
do
who|awk ‘{if ($1==’$i’)(print $5}’
done
Exercice 6 :
awk 'BEGIN {var=""}
{
if ($0!=var && NF!=0)
print($0)
var=$0
}' $1
Partie II : SED
1. sed
–n’/[A-Z][A-Z][A-Z][A-Z]*/p’
fichier
2. sed
‘s/[Cc]omputer/COMPUTER/g’
Advertisement
fichier
3. Encadrer le premier nombre de chaque
ligne avec des **
sed
-e
9]*\)/\1/ ’ fichier
‘s/\([0-9][0-
4. sed ‘1,10d’ fichier
5. Imprimer les lignes commençant par
From.
sed ‘/^From/!d’ fichier :
6. Supprimer les lignes contenant une
chaîne donnée
sed ‘/toto/d’ fichier
7. Supprimer les lignes ne contenant pas
une chaîne donnée
sed ‘/toto/!d’ fichier
8. Tester les commandes suivantes et
notez leurs significations
a. sed ‘s/toto/TOTO/’ fichier va
Advertisement
changer
première
la
occurrence de chaque ligne de
la chaîne toto par TOTO.
b. sed ’s/toto/TOTO/3’ fichier
va
troisième
occurrence de chaque ligne de
la chaîne toto par TOTO
c. sed ‘s/toto/TOTO/g’ fichier
va
les
occurrences de la chaîne toto
par TOTO.
changer
changer
toutes
la
d. sed ’s/toto/TOTO/w resultat’
Advertisement
fichier en cas de substitution,
la ligne changée est inscrite
dans le fichier resultat
9. Inverser l’ordre de la première et la
deuxième colonne d’un fichier.
sed -e
Z][A-Za-z]*\)/\2 \1/' fichier
's/^\([A-Z][A-Za-z]*\),
\([A-
10. Entourer chaque nombre par deux a.
sed -e ‘s/\ ([0-9][0-9]*\ )/aa\ 1aa/’
fichier
11. N’afficher que les lignes contenant le
nombre 55.
sed -n '/55/p' fichier
1