J'ai suivi les étapes nécessaires pour créer rapidement une instance Ubuntu Linux à l'aide d'Amazon Elastic Compute Cloud (Amazon EC2) et m'y connecter et j'ai accès au shell de commande Linux. Comment trouver des informations sur les principaux utilitaires de manipulation de texte ?

Linux comprend plus de 100 utilitaires « principaux », notamment pour la gestion des fichiers, l'administration système, la sécurité et le stockage. Les principaux utilitaires fournis avec les distributions Linux sont le résultat du projet de développement du système d'exploitation GNU gratuit, lancé en 1983 par Richard Stallman. Comme les logiciels GNU sont conçus pour fonctionner avec les systèmes Unix, ils sont disponibles avec la plupart des distributions Linux.

Cet article fournit un résumé des utilitaires de texte GNU qui sont disponibles pour Ubuntu 14.04 et versions ultérieures. Le nom des principaux utilitaires décrits ici est associé à une page de manuel en ligne : http://www.gnu.org.

Remarque : pour obtenir davantage d'informations sur les utilitaires de fichier GNU disponibles sur votre instance Linux Amazon EC2, utilisez une des commandes ci-dessous.

     --help : affiche les arguments de l'utilitaire

     info  : affiche des informations générales sur l'utilitaire

     man  : affiche la page de manuel de l'utilitaire

La liste suivante fournit un résumé des utilitaires de texte GNU disponibles avec Ubuntu Linux :

base64 : transforme les données lues dans un fichier ou une entrée standard en les convertissant au format codé en base64 (ou depuis ce format).

$ cd #switch to home directory

$ echo 'VGhpcyBpcyBhIHRlc3QK' > base64test #create encoded file

$ cat base64test #display base64 encoded ASCII

VGhpcyBpcyBhIHRlc3QK

$ base64 –d base64test #decode base64 encoded ASCII and display

This is a test

$ rm base64test #clean up

cat : affiche le contenu d'un ou plusieurs fichiers.

$ cd #switch to home directory

$ echo 'test1' > cat1 #create file cat1

$ echo 'test2' > cat2 #create file cat2

$ cat cat1 cat2 #display contents of cat1 and cat2

test1

test2

$ rm cat1 cat2 #clean up

cksum : affiche le total de contrôle CRC, le nombre d'octets et le nom des fichiers spécifiés.

$ cd #switch to home directory

$ echo 'cksum1' > cksum1 #create file cksum1

$ echo 'cksum2' > cksum2 #create file cksum2

$ cksum cksum1 cksum2 #display CRC checksum, bytes, filenames

2980702885 7 cksum1

3015712556 7 cksum2

$ rm cksum1 cksum2 #clean up

comm : compare deux fichiers triés. Par défaut, produit une sortie sur trois colonnes où la première colonne contient les lignes spécifiques au fichier 1, la deuxième colonne, les lignes spécifiques au fichier 2, et la troisième colonne, les lignes figurant dans les deux fichiers. Les colonnes sont séparées par une tabulation.

$ cd #switch to home directory

$ printf "a\nb\nc\n" > commtest1 # create sorted file commtest1

$ printf "a\nb\nd\n" > commtest2 # create sorted file commtest2

$ comm commtest1 commtest2

                a

                b

c

        d

$ rm commtest1 commtest2 #clean up

csplit : fractionne un fichier en plusieurs fichiers en fonction de critères de fractionnement spécifiques.

$ cd #switch to home directory

$ mkdir csplit && cd csplit #create and switch to subdirectory

$ seq 9 | csplit – '/[5]$/' '{*}' #split on lines ending in 5

8     #size in bytes

10    #size in bytes

$ ls  #list output files

xx00 xx01

$ head xx* #use head to print file contents

==> xx00 xx01 <==

5

6

7

8

9

$ cd #switch to home directory

$ rm –r csplit #clean up

cut : affiche les parties sélectionnées de chaque ligne du fichier d'entrée.

$ cd #switch to home directory

$ printf "line1:first line\nline2:second\nline3,third\n" > cutme

$ cat cutme #display contents of file

line1:first line

line2:second

line3,third

$ cut –d: -f 1 -s cutme #print first field of : delimited lines

line1

line2

$ cut –d: -f 1-2 –s cutme #print both fields of : delimited lines

line1:first line

line2:second

$ cut –d, -f 1-2 –s cutme #print both fields of , delimited lines

line3,third

$ cut –c 1-5 cutme #print characters 1-5 of every line

line1

line2

line3

$ rm cutme #clean up

expand : convertit les tabulations en espaces. En l'absence de commutateur -t, ajoute 8 espaces par défaut.

$ cd #switch to home directory

$ printf "line1\tfirst\nline2\tsecond\nline3\tthird\n" > expandme

$ expand expandme #expand with default tabs (8 spaces)

line1   first

line2   second

line3   third

$ expand –t 20 expandme #expand tabs to 20 spaces

line1               first

line2               second

line3               third

$ expand –t 1 expandme #expand tabs to 1 space

line1 first

line2 second

line3 third

$ rm expandme #clean up

fmt : reformate le texte du paragraphe.

$ cd #switch to home directory

$ printf "First line.\t\tSecond line.\nThird line! \n" > fmtme

$ cat fmtme

First line.             Second Line.

Third line!

$ fmt fmtme #format using defaults

First line.             Second Line  Third line!

$ fmt –u fmtme #format with uniform word spacing.

First line.  Second line.  Third line!

$ rm fmtme #clean up

fold : définit le retour automatique des lignes d'entrée afin qu'elles respectent la largeur indiquée.

$ cd #switch to home directory

$ printf "This line of text iscut in two with fold\n" > foldme

$ cat foldme #display file contents

This line of text iscut in two with fold

$ fold –w 20 foldme #fold using a width of 20 columns

This line of text is

cut in two with fold

$ rm foldme #clean up

head : imprime les n premières lignes du fichier indiqué. Si aucune valeur n'est spécifiée pour n, imprime les 10 premières lignes du fichier.

$ cd #switch to home directory

$ printf "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n" > headme

$ cat headme

1

2

3

4

5

6

7

8

9

10

11

$ head headme #print first 10 lines (default)

1

2

3

4

5

6

7

8

9

10

$ head –n 5 headme #print first 5 lines

1

2

3

4

5

$ rm headme #clean up

md5sum : crée une valeur de total de contrôle md5.

$ cd #switch to home directory

$ printf "This is a test\n" > md5me #create file

$ md5sum md5me > md5memd5sum #create checksum

$ cat md5memd5sum #display checksum of file

ff22941336956098ae9a564289d1bf1b md5me

$ md5sum –c md5memd5sum #verify checksum of file

md5me: OK

$ rm md5memd5sum #clean up

nl : ajoute les numéros de ligne au texte.

$ cd #switch to home directory

$ printf "line one\nline two\nline three\n" > nlme #create file

$ cat nlme #display file contents

line one

line two

line three

$ nl nlme #display file contents with leading numbers

     1  line one

     2  line two

     3  line three

$ rm nlme #clean up

numfmt : reformate les nombres au format indiqué.

$ cd #switch to home directory

$ numfmt --to=si 100000

100K

$ numfmt --to=iec 100000

98K

$ numfmt --from=si 100K

100000

$numfmt –-from=iec 100K

102400

od : affiche un fichier dump du fichier indiqué aux formats octal, décimal et autre.

$ cd #switch to home directory

$ printf "line 1\nline 2\nline three\t end\n" > odme #create file

$ cat odme #display file contents

line 1

line 2

line 3     end

$ od –c odme #dump printable single byte characters

0000000  l  i  n  e     1 \n  l  i  n  e     2 \n  l  i

0000020  n  e     t  h  r  e  e \t  e  n  d \n

0000035

$ rm odme #clean up

paste : fusionne et affiche les lignes de plusieurs fichiers.

$ cd #switch to home directory

$ printf "1\n2\n3\n" > pastenum   #create file to be merged

$ printf "a\nb\nc\n" > pastealpha #create file to be merged

$ head paste* #display contents of files

==> pastealpha pastenum <==

1

2

3

$ paste pastenum pastealpha #merge and display lines

1       a

2       b

3       c

$ rm pastenum pastealpha #clean up

ptx : affiche un index permuté du fichier indiqué.

$ cd #switch to home directory

$ printf "1\n3\n2\nb\na\nc\n" > ptxme #create file

$ cat ptxme #display file contents

1

3

2

b

a

c

$ ptx ptxme #display permutated index of ptxme

          1 3 2 b  a c

            1 3 2  b a c

        1 3 2 b a  c

$ rm ptxme #clean up

pr : prépare les fichiers indiqués pour l'impression.

$ cd #switch to home directory

$ printf "line 1\nline 2\nline three\tend\n" > prme #create file

$ cat prme #display file contents

line 1

line 2

line three      end

$ pr –h "Header" prme > prmed #prepare prme for printing as prmed

$ head prmed #display paginated file with header

 

2016-02-16 12:15                    Header                    Page 1

 

line 1

line 2

line three      end

$ rm prme prmed #clean up

sha1sum : crée une valeur de total de contrôle sha1.

$ cd #switch to home directory

$ printf "This is a test\n" > sha1me #create file

$ sha1sum sha1me > sha1mesha1sum #create checksum

$ cat sha1mesha1sum #display checksum of file

3c1bb0cd5d67dddc02fae50bf56d3a3a4cbc7204 sha1me

$ sha1sum –c sha1mesha1sum #verify checksum of file

sha1me: OK

$ rm sha1me sha1mesha1sum #clean up

shuf : remanie les lignes d'entrée et en affiche une permutation aléatoire.

$ cd #switch to home directory

$ shuf –e a b c d #echo shuffled output to display

b

a

c

d

sort : trie et affiche le contenu des fichiers indiqués.

$ cd #switch to home directory

$ printf "5\n3\n1\n4\n2\n" > sortme

$ cat sortme #display contents of file

5

3

1

4

2

$ sort sortme #display contents of sorted file

1

2

3

4

5

$ rm sortme #clean up

split : fractionne un fichier en le nombre de fichiers de sortie indiqué.

$ cd #switch to home directory

$ mkdir split && cd split #create and switch to subdirectory

$ seq 10 | split –l 5 #pipe seq 10 to 2 five-line files

$ head x* #display file contents

==> xaa xab <==

6

7

8

9

10

$ cd #switch to home directory

$ rm –r split #clean up

sum : affiche le total de contrôle, le nombre de blocs (arrondi) et le nom des fichiers spécifiés.

$ cd #switch to home directory

$ echo 'sum1' > sum1 #create file sum1

$ echo 'sum2' > sum2 #create file sum2

$ sum sum1 sum2 #display checksum, blocks, filenames

36947      1 sum1

04180      1 sum2

$ rm sum1 sum2 #clean up

tac : affiche les lignes d'un fichier dans l'ordre inverse.

$ cd #switch to home directory

$ printf "1\n2\n3\n4\n5\n" > tacme

$ cat tacme #display contents of file

1

2

3

4

5

$ tac tacme #display contents of file, lines in reverse order

5

4

3

2

1

$ rm tacm #clean up

tail : imprime les n dernières lignes du fichier indiqué. Si aucune valeur n'est spécifiée pour n, imprime les 10 dernières lignes du fichier.

$ cd #switch to home directory

$ printf "1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n11\n" > tailme

$ cat tailme

1

2

3

4

5

6

7

8

9

10

11

$ tail tailme #print last 10 lines (default)

2

3

4

5

6

7

8

9

10

11

$ tail –n 5 tailme #print last 5 lines

7

8

9

10

11

$ rm tailme #clean up

tr : convertit, compresse et/ou supprime des caractères.

$ cd #switch to home directory

$ echo lowertoupper | tr a-z A-Z #translate lower to upper

LOWERTOUPPER

$ echo abcdef | tr –d abc #delete specified characters

def

tsort : effectue un tri topologique de l'entrée indiquée et envoie le résultat dans une sortie standard.

$ cd #switch to home directory

$ tsort 1 2 3  #each character followed by a space

> 4

> 5 6

> 2 3 4 5

> EOF

1

2

3

4

5

6

unexpand : convertit les espaces en tabulations.

$ cd #switch to home directory

$ printf "line  1\nline   2\nline    3\n" > unexpandme

$ unexpand –t 1 unexpandme #converts spaces into –t columns

line    1

line            2

line                    3

$ rm unexpandme #clean up

uniq : élimine les lignes répétées du fichier indiqué.

$ cd #switch to home directory

$ printf "line1\nline1\nline 1\nline2\nline2\n" > uniqme

$ cat uniqme #display file contents

line1

line1

line 1

line2

line2

$ uniq uniqme #filter repeated lines in file and display

line1

line 1

line2

$ rm uniqme #clean up

wc : compte le nombre d'octets, de caractères, de mots et de nouvelles lignes d'un fichier. Imprime par défaut le nombre de nouvelles lignes, de mots et d'octets.

$ wc /home/user1/.bash_profile

 15  51 371 /home/user1/.bash_profile

Linux, principaux utilitaires, GNU, utilitaires principaux, shell


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.