La commande Linux cut est utilisée pour extraire le contenu du fichier en fonction des champs. Les fichiers texte n'ont pas de lignes/colonnes comme les bases de données, parfois nous avons juste besoin d'une seule colonne de données. Coupez les colonnes reconnues en fonction du délimiteur (par exemple : deux-points ':', point-virgule ';', virgule ', ', etc.).
Pour l'exemple suivant, nous utilisons le fichier /etc/passwd. Toutes les lignes sont stockées au format suivant, séparées par deux points (:) comme suit. Nous utilisons -f pour spécifier le numéro de champ et -d comme délimiteur.
D'après l'image ci-dessus, ce fichier comporte 7 champs. cut prend également en charge l'obtention de valeurs sur la base des caractères en poursuivant le commutateur de ligne de commande -c. Regardons l'exemple suivant, en utilisant le fichier /etc/passwd.
1. Sélectionnez un seul champ dans le fichier :
Par exemple, nous avons besoin de la liste des noms d'utilisateur dans le fichier /etc/passwd. Nous savons que la première colonne stocke le nom d'utilisateur et que l'ensemble du fichier est séparé par deux points (:).
#cut -d“:” - f1 </ etc / passwd root bin daemon adm lp sync shutdown halt
Nous pouvons également utiliser le tube "|" pour transmettre le contenu du fichier en entrée à la commande cut, comme indiqué ci-dessous -
#cat / etc / passwd | cut -d“:” - f1
2 . À partir du fichier Sélectionnez plusieurs colonnes dans :
Nous pouvons spécifier plusieurs noms de champs séparés par des commandes, comme le montre l'exemple ci-dessous, seuls les 1er, 2ème et 7ème champs seront affichés.
# cut -d":" -f1,2,7 < /etc/passwd root:x:/bin/bash bin:x:/sbin/nologin daemon:x:/sbin/nologin adm:x:/sbin/nologin lp:x:/sbin/nologin sync:x:/bin/sync shutdown:x:/sbin/shutdown halt:x:/sbin/halt mail:x:/sbin/nologin uucp:x:/sbin/nologin
Nous pouvons également spécifier la plage de la colonne avec un trait d'union (-) sur le champ avec les deux options comme dans l'exemple de commande ci-dessous.
La première commande sélectionnera les 1er, 2ème, 3ème et 4ème champs.
La deuxième commande sélectionnera les 3ème, 4ème et 5ème champs.
La dernière commande affichera les 2ème, 3ème, 4ème, 6ème et 10ème champs.
# cut -d":" -f1-4 < /etc/passwd # cut -d":" -f3-5 < /etc/passwd # cut -d":" -f2-4,6,10 < /etc/passwd
Pour obtenir les valeurs de toutes les colonnes sauf une, vous devez utiliser la commande suivante. Par exemple, si nous devons sélectionner toutes les colonnes au lieu de 6 colonnes.
# cut -d":" --complement -s -f6 < /etc/passwd
3. Sélectionnez un seul caractère dans le fichier
En plus des champs, nous pouvons également sélectionner des valeurs dans le fichier en fonction d'un seul caractère. , et en utilisant des caractères Aucun séparateur ne doit être spécifié.
#cut -c1 </ etc / passwd r b d a l s s
De même, nous pouvons également spécifier plusieurs caractères ou plages de caractères séparés par des virgules.
#cut -c1,2,3,6,7 </ etc / passwd #cut -c1-3,6,7 </ etc / passwd
Cet article est terminé ici. Pour un contenu plus passionnant, vous pouvez prêter attention à la colonne Vidéo du didacticiel Linux du site Web PHP chinois !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!