Utilisation de la liste

Utilisation de la liste

Si vous pensez que vous pouvez faire l'administration du système Linux sans couper Commande, alors vous avez absolument raison. Cependant, la maîtrise de cet outil de ligne de commande assez simple vous donnera un grand avantage en ce qui concerne l'efficacité de votre travail sur un utilisateur ainsi que le niveau d'administration. Pour simplement mettre, couper La commande est l'un des nombreux outils de ligne de commande de filtrage de texte que le système d'opération Linux a à offrir. Il filtre le stdin standard à partir d'une autre commande ou d'un fichier d'entrée et envoie la sortie filtrée à stdout.

Options fréquemment utilisées

Sans trop parler, commençons par introduire le principal et le plus couramment utilisé couper Options de ligne de commande.

  • -B, -Bytes = liste
    Coupe le fichier d'entrée à l'aide de la liste des octets spécifiés par cette option
  • -C, -Characters = liste
    Coupe le fichier d'entrée à l'aide de la liste des caractères spécifiés par cette option
  • -F, -Fields = liste
    Coupe le fichier d'entrée à l'aide de la liste du champ. L'onglet Champ par défaut à utiliser. Le comportement par défaut peut être remplacé par l'utilisation de l'option -D.
  • -d, -deliter = délimiteur
    Spécifie un délimiteur par utilisé comme champ. Comme mentionné, le champ par défaut est un onglet et cette option écrase ce comportement par défaut.

Utilisation de la liste

Dans ce cas, la liste peut être constituée d'une seule ou d'une gamme d'octets, de caractères ou de champs. Par exemple, pour afficher uniquement le deuxième octet, la liste comprendra un seul numéro 2 .

Donc:

  • 2 affichera seulement un deuxième octet, un caractère ou un champ compté à partir de 1
  • 2-5 affichera tous les octets, caractères ou champs à partir de la deuxième et terminer par 5e
  • -3 affichera tous les octets, caractères ou champs avant le 4e
  • 5- produira tous les octets, caractères ou champs commençant par le 5e
  • 1,3,6 affichera seulement les 1er, 3e et 6e octet, caractère ou champ
  • 1,3- affiche 1er et tous les octets, caractères ou champs commençant par la 3e

Voyons comment cela fonctionne dans la pratique.

Coupé par caractère

Dans les exemples suivants, sont plutôt explicites. Nous avons utilisé l'option -C de Cut pour imprimer uniquement une gamme spécifique de caractères de Cut.fichier txt.

Echo Cut Command> Cut.txt $ coupe -c 2 coupe.txt u $ Cut -C -3 Cut.TXT Cut $ Cut -C 2-5 Cut.TXT UT-C $ Cut -C 5- Cut.commande txt 

Coupé par octet

Le principe derrière -b (par byte) est similaire à celui décrit précédemment. Nous savons qu'un seul caractère a une taille de 1 octet et donc le résultat après avoir exécuté des commandes précédentes avec l'option -b sera exactement la même:

$ Cut -B 2 Cut.txt u $ Cut -b -3 Cut.TXT Cut $ Cut -B 2-5 Cut.txt ut-c $ Cut -B 5- Cut.commande txt 

La Coupe.txt est un simple fichier texte ASCII. La différence ne vient que lors de l'utilisation de fichiers de codage multi-octets comme texte UNICODE UTF-8 . Par exemple:

$ echo ľuboš> Cut.Txt $ Cut de fichier.txt.TXT: UTF-8 Unicode Text $ Cut -B 1-3 Cut.txt ľU $ Cut -C 1-3 Cut.txt ľub 

Coupé par champ

Comme mentionné précédemment, le champ par défaut utilisé par la commande Cut est l'onglet. Par exemple, créons un fichier où le délimiteur commun est l'onglet.

Indice: Dans le cas où vous vous entraînerez pour insérer une onglet sur une ligne de commande, utilisez ^ V (Ctrl + V) avant d'atteindre l'onglet

$ echo "1 2 3"> coupe.txt $ echo "4 5 6" >> Cut.txt $ Cat Cut.txt 1 2 3 4 5 6 $ Cut -F2- Cut.txt 2 3 5 6 

L'exemple ci-dessus a imprimé uniquement les 2e et 3e colonne car le délimiteur commun était l'onglet et l'onglet est utilisé par Cut comme champ par défaut. Pour vous assurer que vous avez utilisé l'onglet au lieu de l'espace, utilisez la commande OD:

$ echo "1 2"> onglet.txt $ echo "1 2"> espace.onglet txt $ od -a.TXT 0000000 1 HT 2 NL 0000004 $ OD -A SPACE.TXT 0000000 1 SP SP SP SP SP SP SP 2 NL 0000013 

Si nous devons remplacer le comportement par défaut et instruire la commande Cut d'utiliser différents délimitres communs, l'option -d devient très pratique.

$ echo 1-2-3-4> Couper.txt $ echo 5-6-7-8 >> Cut.txt $ Cat Cut.TXT 1-2-3-4 5-6-7-8 $ Cut -d - -f-2,4 Cut.txt 1-2-4 5-6-8 

L'exemple classique où nous devons utiliser l'option -D consiste à extraire la liste des utilisateurs sur un système actuel du système / etc / passwd:

$ Cut -D: -f 1 / etc / passwd Root Daemon Bin Sys Sync Games Man LP News News UUCP Proxy www-data… 

Il doit mentionner que pour obtenir une sortie uniforme, le délimiteur commun doit être unifié sur chaque ligne de l'entrée. Par exemple, il serait difficile d'utiliser l'espace comme délimiteur commun l'exemple suivant:

$ Cat Cut.Txt Cut Command W Command Awk Commande wc Commande $ Cut -d "" -f2 Cut.Commande de commande txt 

Dans ce cas, il serait beaucoup plus facile d'utiliser la commande awk ou d'utiliser la commande SED pour remplacer d'abord plusieurs espaces par un seul délimiteur tel que «»:

$ sed 'S / \ S \ + /, /' Cut.txt | Cut -d, -f2 Command Command Command $ awk 'print $ 2; ' couper.Commande de commande de commande txt Commande 

À l'exclusion des données en utilisant le complément

La commande Cut vous permet d'inclure sélectivement les données souhaitées dans sa sortie. Dans le cas où vous devez sélectionner des données à exclure de la sortie, l'option de complément peut devenir très pratique.

Par exemple:

$ echo 12345678> Couper.txt $ Cat Cut.TXT 12345678 $ CUT - Complément -C -2,4,6- Cut.txt 35 

Exemples

Apprendre la commande Linux Cut avec des exemples
Syntaxe de commande Linux Description de la commande Linux
GRATUIT | mem grep | sed 's / \ s \ + /, / g' | coupe -d, -f2
Afficher la mémoire totale sur le système actuel
CAT / PROC / CPUINFO | grep "nom" | Cut -d: -f2 | uniq
Récupérer un type de processeur
wget -q -o x http: // ipchicken.com / grep '^ \ 8 \ [0-9]' x | sed 's / \ s \ + /, / g' | coupe -d, -f2
Récupérer mon adresse IP externe
coupe -d: -f 1 / etc / passwd
Extraire la liste des utilisateurs sur le système actuel
ifconfig eth0 | grep hwaddr | Cut -d "" -f 11
Obtenez une adresse MAC de mes interfaces réseau
qui | Cut -d \ S -F1
Énumérez les utilisateurs connectés à un système actuel
grep -w / etc / services | Cut -f 1 | uniq
Quel service utilise le port .

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Commandes Linux: les 20 meilleures commandes les plus importantes que vous devez…
  • Commandes Linux de base
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Installez Arch Linux dans VMware Workstation
  • Ubuntu 20.04 Guide
  • Choses à installer sur Ubuntu 22.04
  • Téléchargement Linux