Professional Documents
Culture Documents
AU. 2013-2014
Travaux pratiques
LES FILTRES SOUS UNIX
Z. Bouyahia
Groupe II1
6.
7.
1.
8.
9.
10.
awk 'BEGIN{nl=0;nw=0}
{nl++;nw+=NF} END {print
"lines:",nl, "words:",nw}' in.txt
cat in.txt | wc -w
11.
var=`cat in.txt` ;
var="${var//[^i]/}" ; echo ${#var}
-1/16-
12.
19.
21.
15.
sed -n
'/pattern1/,/pattern2/{=;d;}'
in.txt
22.
16.
nl in.txt
17.
23.
cat -n in.txt
sed = in.txt | sed 'N; s/\n/\t/'
18.
24.
-2/16-
25.
27.
34.
36.
sort -k1.22
30.
37.
-3/16-
43.
38.
44.
39.
45.
40.
47.
41.
48.
42.
-4/16-
sed
sed
sed
sed
awk
awk
awk
'n;d' in.txt
-n 'p;n' in.txt
-n '1,${p;n;}' in.txt
'2~2d' in.txt
'FNR % 2' in.txt
'NR%2 {print}' in.txt
'NR%2 == 1' in.txt
58.
sed
sed
sed
awk
awk
awk
53.
-n 'n;p' in.txt
-n '1,${n;p;}' in.txt
'1~2d' in.txt
'!(FNR % 2)' in.txt
'(NR+1)%2 {print}' in.txt
'NR%2 == 0' in.txt
59.
55.
-5/16-
61.
67.
sort -u in.txt
sort in.txt | uniq
awk '!x[$0]++' in.txt
awk '{ a[$1]++ } END {for (i in a)
imprime i}' in.txt | sort
sed '$!N; /^\(.*\)\n\1$/!P; D'
in.txt
63.
69.
64.
70.
65.
71.
72.
sed q in.txt
-6/16-
sed -n -e :a -e
'1,10!{P;N;D;};N;ba'
73.
79.
74.
80.
75.
81.
sed -e :a -e '$q;N;11,$D;ba'
in.txt
76.
LES PATTERNS
82.
77.
83.
sed -e :a -e '$d;N;2,10ba' -e
'P;D'
-7/16-
84.
sed -e '/./{H;$!d;}' -e
'x;/pattern/!d;' in.txt
90.
85.
sed -e '/./{H;$!d;}' -e
'x;/pattern1/!d;/pattern2/!d'
in.txt
91.
86.
sed -e '/./{H;$!d;}' -e
'x;/pattern1/b' -e '/pattern2/b' e d in.txt
92.
87.
93.
88.
-8/16-
95.
102.
sed -e '/pattern1/,/pattern2/d'
in.txt
96.
103.
97.
105.
sed -n '/titi/{:a;N;/tutu/!ba;p;}'
in.txt
99.
sed -n '3,10{/titi/,/tutu/p}'
in.txt
100.
106.
sed -e '/pattern/ i\
............ (option
le pattern)
sed -e '/pattern/ a\
............ (option
le pattern)
101.
-9/16-
' in.txt
'i' : avant
' in.txt
'a' : aprs
107.
113.
117.
sed -n '4,10
{/pattern1/,/pattern2/
{s/^0./y&/;/^$/d;s/m/w/g;p}}'
in.txt
118.
sed
'/titi/,/tutu/{/titi/b;/tutu/b;s/.
*/SED/;}' in.txt
119.
-10/16-
124.
130.
-11/16-
139.
135.
142.
-12/16-
145.
sed '/[0-9A-Za-z]/,/^$/{/^$/d}'
in.txt
147.
sed
..
sed
..
154.
sed -e '/pattern/ i\
............ (option
le pattern)
sed -e '/pattern/ a\
............ (option
le pattern)
' in.txt
'i' : avant
' in.txt
'a' : apres
155.
sed G in.txt
sed 'a\ ' in.txt
150.
-e
le
-e
le
-13/16-
156.
sed '/pattern1/,/pattern2/
c\**DELETED**' in.txt
157.
163.
DIVERS
167.
cat in.txt
sed '' in.txt
sed ':' in.txt
168.
162.
169.
-14/16-
tac in.txt
sed -n '1!G;h;$p' in.txt
awk '{ a[i++]=$0 } END { for (j=i1; j>=0; ) print a[j--] }' in.txt
177.
171.
cp old_file new_file
sed 'w new_file' old_file
183.
176.
184.
-15/16-
awk '{key=$1;$1="";n=split($0,
parties, "[,]");for(k=1; k<=n;
k++) print ""key" "1" "parties[k]
""}' in.txt | awk '{if($2>0) print
$0}' | awk '{if($1 != key){key =
$1} else {$2 += cum} cum=$2;
print}' > out.txt
Bon travail
187.
awk '{key=$1;
$1=$2="";f[key]=f[key] s[key]
$0;s[key]=","} END {for(key in
f){gsub(/[[:space:]]/,"",f[key]);p
rintf "%s %s\n",key,f[key]}}'
in.txt| sort > out.txt
188.
-16/16-