-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathcut.txt
62 lines (56 loc) · 3.67 KB
/
cut.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
┏━━━━━━━━━┓
┃ CUT ┃
┗━━━━━━━━━┛
cut [FILE]... #Imprime chaque ligne de [FILE]... coupée selon
#les critères spécifiés. Utiliser l'option -b, -c ou
#-f est obligatoire
#[FILE]... par défaut est stdin : on peut donc rediriger
#son input
-f "RANGE1[,RANGE2]..." #Imprime les fields contenus dans RANGE1, [RANGE2, etc.]
--fields= #de la ligne courante, chaque field étant séparé par OFS
"RANGE1[,RANGE2]..." #(par défaut tabulation), même au sein d'un même RANGE,
#le tout suivi d'une newline.
#RANGE peut être :
#
# - NOMBRE : field numéro NOMBRE
# - NOMBRE1-NOMBRE2 : fields contenus entre le field
# numéro NOMBRE1 et numéro NOMBRE2
# (inclus)
# - NOMBRE- : fields contenus entre le field
# numéro NOMBRE (inclus) et la fin
# de la ligne
# - -NOMBRE : fields contenus entre le début de
# la ligne et le field numéro
# NOMBRE (inclus)
#
#Si un field est out of range ou a déjà été imprimé
#précédemment pour la ligne courante, imprime null, et
#pas d'OFS
#Les fields sont triés dans l'ordre croissant, avant
#d'être imprimés.
#Les fields sont délimités par FS (par défaut tab).
#Attention, FS est tab, et non blank !
#Si une ligne ne contient aucune occurence de FS, elle
#est imprimée entière, telle quelle
-b "RANGE1[,RANGE2]..." #Comme -f, mais concerne les octets de la ligne courante
--bytes= #et non ses fields.
"RANGE1[,RANGE2]..." #Il y a quelques différences cependant :
# - Les deux remarques sur FS sont inutiles (pas de FS)
# - L'OFS par défaut est rien
# - Si plusieurs octets sont imprimés au sein d'un même
# RANGE, ils ne sont pas séparés entre eux par OFS
# (mais sont séparés par OFS des autres RANGE)
-c "RANGE1[,RANGE2]..." #Sensé être comme -b mais désigner les caractères (qui
--characters= #peuvent être supérieurs à un octet) et non les octets.
"RANGE1[,RANGE2]..." #Dans les faits, je ne vois pas la différence
-d "STRING" #Avec -f, utilise "STRING" comme FS et comme OFS.
--delimiter="STRING" #Ne fonctionne pas avec l'option -b (ou -c ??)
--output-delimiter
="STRING" #Utilise "STRING" comme OFS
--complement #Inverse la sélection de fields, d'octets ou de
#caractères opérée par -f, -b ou -c.
#Si une ligne est affichée avec -f car ne contenant
#aucune occurence de FS, elle s'imprime de la même
#manière que --complement soit là ou non
-s #Avec -f, si une ligne ne contient aucune occurence de
--only-delimited #FS, elle n'est pas imprimée (pas même de newline)