La commande cut sous Linux est une commande permettant de découper les sections de chaque ligne de fichiers et d'écrire le résultat sur la sortie standard. Il peut être utilisé pour couper des parties d'une ligne par position d'octet, caractère et champ. La commande cut coupe une ligne et extrait le texte. Il faut spécifier une option avec une commande sinon cela donne une erreur. Si plusieurs noms de fichiers sont fournis, les données de chaque fichier ne sont pas précédées de son nom de fichier.
Table des matières
- Syntaxe de la commande cut
- Options disponibles dans la commande Cut
- Exemples pratiques de commande cut
- Extraire des octets spécifiques (-b) à l'aide de la commande cut
- Couper par caractère (-c) à l'aide de la commande cut
- Couper par champ (-f) à l'aide de la commande cut
- Sortie complémentaire (-complément) à l'aide de la commande cut
- Délimiteur de sortie (–output-delimiter) à l'aide de la commande cut
- Afficher la version (–version) à l'aide de la commande cut
- Comment utiliser la queue avec des tuyaux (|) dans la commande cut
- Foire aux questions sur la commande cut sous Linux – FAQ
Syntaxe de la commande cut
La syntaxe de base ducut>la commande est :
cut OPTION... [FILE]...>
Où
`OPTION`> spécifie le comportement souhaité
` FILE> `>représente le fichier d'entrée.
Note : SiFILE>n'est pas spécifié, ` cut`> lit à partir de l'entrée standard (stdin).
Options disponibles dans la commande Cut
Voici une liste des options les plus couramment utilisées avec le ` cut`> commande:
| Option | Description |
|---|---|
| -b, –octets=LISTE | Sélectionne uniquement les octets spécifiés dans |
| -c, –caractères=LISTE | Sélectionne uniquement les caractères spécifiés dans |
| -d, –délimiteur=DIVISER | Les usages |
| -f, –champs=LIS | Sélectionne uniquement les champs spécifiés dans |
| -n | Ne divisez pas les caractères multi-octets (aucun effet sauf si |
| -complément | Inverser la sélection des champs/caractères. Imprime les champs/caractères non sélectionnés. |
Exemples pratiques de commande cut
Considérons deux fichiers portant le nom état.txt et capital.txt contient respectivement 5 noms des États et capitales indiens.
$ cat state.txt Andhra Pradesh Arunachal Pradesh Assam Bihar Chhattisgarh>
Sans aucune option spécifiée, il affiche une erreur.
$ cut state.txt cut: you must specify a list of bytes, characters, or fields Try 'cut --help' for more information.>
Extraire des octets spécifiques (-b>) Utilisation de la commande cut
-b(octet) : Pour extraire les octets spécifiques, vous devez suivre l'option -b avec la liste des numéros d'octets séparés par des virgules. La plage d'octets peut également être spécifiée à l'aide du trait d'union (-). Il est nécessaire de spécifier la liste des numéros d'octets sinon cela donne une erreur.
Onglets et espaces arrière sont traités comme un caractère de 1 octet.
Liste sans plages :
cut -b 1,2,3 state.txt>

liste sans plage
Liste avec plages :
cut -b 1-3,5-7 state.txt>

liste avec plage
Il utilise une forme spéciale pour sélectionner les octets du début jusqu'à la fin de la ligne :
Forme spéciale : sélection d'octets du début à la fin de la ligne
En cela, 1- indique du 1er octet à l'octet de fin d'une ligne
cut -b 1- state.txt>

formulaire spécial avec l'option -b
En cela, -3 indique du 1er octet au 3ème octet d'une ligne
cut -b -3 state.txt>

formulaire spécial -b option
Couper par caractère (-c>) Utilisation de la commande cut
-c (colonne) : Pour couper par caractère, utilisez l'option -c. Ceci sélectionne les caractères attribués à l'option -c. Il peut s'agir d'une liste de nombres séparés par des virgules ou d'une plage de nombres séparés par un trait d'union (-).
Onglets et espaces arrière sont traités comme des personnages. Il est nécessaire de spécifier la liste des numéros de caractères sinon cela donne une erreur avec cette option.
Syntaxe:
cut -c [(k)-(n)/(k),(n)/(n)] filename>
Ici, k désigne la position de départ du personnage et n désigne la position de fin du caractère dans chaque ligne, si k et n sont séparés par - sinon ils ne représentent que la position du caractère dans chaque ligne du fichier pris en entrée.
Extraire des caractères spécifiques :
cut -c 2,5,7 state.txt>

Extraire des caractères spécifiques
La commande de coupe ci-dessus imprime les deuxième, cinquième et septième caractères de chaque ligne du fichier.
Extrayez les sept premiers caractères :
cut -c 1-7 state.txt>

Extraire les sept premiers caractères
La commande de coupe ci-dessus imprime les sept premiers caractères de chaque ligne du fichier. Cut utilise un formulaire spécial pour sélectionner les caractères du début jusqu'à la fin de la ligne :
Forme spéciale : sélection de caractères du début à la fin de la ligne
cut -c 1- state.txt>

sélectionner des caractères du début à la fin de la ligne à l'aide de l'option -c
La commande ci-dessus s'imprime du premier caractère à la fin. Ici, dans la commande, seule la position de départ est spécifiée et la position finale est omise.
cut -c -5 state.txt>

sélectionner des caractères du début à la fin de la ligne à l'aide de l'option -c
La commande ci-dessus imprime la position de départ jusqu'au cinquième caractère. Ici, la position de départ est omise et la position finale est spécifiée.
Coupe par champ (-f>) Utilisation de la commande cut
-f (champ) : -c L’option est utile pour les lignes de longueur fixe. La plupart des fichiers Unix n'ont pas de lignes de longueur fixe. Pour extraire les informations utiles, vous devez découper par champs plutôt que par colonnes. La liste des numéros de champs spécifiés doit être séparée par une virgule. Les plages ne sont pas décrites avec l'option -f . couper les usages languette comme délimiteur de champ par défaut, mais peut également fonctionner avec d'autres délimiteurs en utilisant -d option.
Note: L'espace n'est pas considéré comme délimiteur sous UNIX.
Syntaxe:
cut -d 'delimiter' -f (field number) file.txt>
Extraire le premier champ :
Comme dans le fichier état.txt les champs sont séparés par un espace. Si l'option -d n'est pas utilisée, la ligne entière s'affiche :
cut -f 1 state.txt>

Extraire le premier champ à l'aide de l'option -f
Si ` -d` L'option est utilisée, elle considère alors l'espace comme séparateur ou délimiteur de champ :
cut -d ' ' -f 1 state.txt>

espace comme séparateur ou délimiteur de champ
Extraire les champs 1 à 4 :
La commande imprime le champ du premier au quatrième de chaque ligne du fichier.
cut -d ' ' -f 1-4 state.txt>

La commande imprime le champ du premier au quatrième
Sortie complémentaire (--complement>) Utilisation de la commande cut
-complément: Comme son nom l'indique, il complète la sortie. Cette option peut être utilisée en combinaison avec d'autres options soit avec -F ou avec -c .
cut --complement -d ' ' -f 1 state.txt>

-complément
cut --complement -c 5 state.txt>

-complément
Délimiteur de sortie (--output-delimiter>) Utilisation de la commande cut
–délimiteur de sortie : Par défaut, le délimiteur de sortie est le même que le délimiteur d'entrée que nous spécifions dans la coupe avec -d option. Pour modifier le délimiteur de sortie, utilisez l'option –output-delimiter=délimiteur .
cut -d ' ' -f 1,2 state.txt --output-delimiter='%'>

Ici, la commande cut modifie le délimiteur (%) dans la sortie standard entre les champs spécifiés à l'aide de l'option -f.
Version d'affichage (--version>) Utilisation de la commande cut
-version: Cette option est utilisée pour afficher la version de cut qui est actuellement en cours d'exécution sur votre système.
cut --version>

afficher la version de la commande couper
Comment utiliser la queue avec des tuyaux (|) dans la commande cut
La commande cut peut être redirigée avec de nombreuses autres commandes Unix. Dans l'exemple suivant, la sortie du chat la commande est donnée en entrée au couper commande avec -F option pour trier les noms d'état provenant du fichier state.txt dans l'ordre inverse.
cat state.txt | cut -d ' ' -f 1 | sort -r>

en utilisant la queue avec le tuyau (|) dans la commande cut
Il peut également être raccordé à un ou plusieurs filtres pour un traitement supplémentaire. Comme dans l'exemple suivant, nous utilisons les commandes cat, head et cut et dont la sortie est stockée dans le nom de fichier list.txt à l'aide de la directive (>).
cat state.txt | head -n 3 | cut -d ' ' -f 1>liste.txt>
cat list.txt>

Rudyard Kipling si explication
rediriger la sortie dans un fichier différent
Foire aux questions sur la commande cut sous Linux – FAQ
Comment puis-je utiliser le cut> commande pour extraire des colonnes spécifiques d'un fichier ?
Exemple : Pour extraire les première et troisième colonnes d'un fichier CSV nommé ` data.csv`> .
cut -d',' -f1,3 data.csv>
Puis-je utiliser cut> extraire une plage de caractères de chaque ligne ?
Oui, vous pouvez. Pour extraire les caractères 5 à 10 de chaque ligne d'un fichier nommétext.txt>.
cut -c5-10 text.txt>
Comment puis-je modifier le délimiteur utilisé par le cut> commande?
Utilisez le ` -d`> option suivie du caractère délimiteur. Par exemple, pour utiliser les deux points (:>) comme délimiteur.
cut -d':' -f1,3 data.txt>
Est-il possible d'utiliser cut> extraire les champs en fonction de la position des caractères ?
Oui, vous pouvez spécifier la position des caractères avec le ` -c`> option. Par exemple, pour extraire les caractères 1 à 5 et 10 à 15 de chaque ligne.
cut -c1-5,10-15 data.txt>
Comment puis-je utiliser cut> extraire des champs en fonction d'un délimiteur spécifique et les stocker dans un nouveau fichier ?
Pour extraire les champs séparés par des virgules et les stocker dans un nouveau fichier nommé ` output.tx> t`>
cut -d',' -f1,3 data.csv>sortie.txt>
Conclusion
Dans cet article, nous avons discuté de ` cut`> commande sous Linux qui est un outil polyvalent pour extraire des sections spécifiques de fichiers en fonction de la position de l'octet, du caractère ou du champ. Il découpe des lignes de texte et génère les données extraites. Omission de spécifier une option avec lecut>la commande entraîne une erreur. Plusieurs fichiers peuvent être traités, mais la sortie n'inclut pas les noms de fichiers. Des options telles que ` -b`> , ` -c`> , et ` -f`> permettre l'extraction par octet, caractère et champ, respectivement. Le--complement>L'option inverse la sélection, imprimant ce qui n'est pas sélectionné, et--output-delimiter>modifie le délimiteur de sortie. La commande comprend également des options d'affichage de la version et peut être utilisée en combinaison avec d'autres commandes via des canaux pour un traitement supplémentaire.
?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L