Aperçu
cut traite les données textuelles ligne par ligne pour extraire des champs, des caractères ou des plages d'octets spécifiés. Il est très efficace pour les tâches simples d'extraction et de transformation de données.
Caractéristiques principales
- Extraction par champ (colonne) (option `-f`)
- Extraction par caractère (octet) (options `-c`, `-b`)
- Spécification d'un délimiteur personnalisé (option `-d`)
- Exclusion des parties sélectionnées de la sortie (option `--complement`)
Options principales
La commande cut offre diverses options pour extraire des parties spécifiques du texte.
Méthodes d'extraction
Contrôle de la sortie
Commande générée :
Essayez de combiner les commandes.
Description:
`cut` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Voici des exemples de traitement de données textuelles à l'aide de la commande cut.
Extraire le premier et le troisième champ d'un fichier délimité par des virgules
echo "apple,banana,cherry,date" > data.csv
cut -d',' -f1,3 data.csv
Extrait le premier et le troisième champ du fichier data.csv en utilisant la virgule (`,`) comme délimiteur.
Extraire du premier au troisième champ d'un texte délimité par des espaces
echo "Field1 Field2 Field3 Field4" | cut -d' ' -f1-3
Extrait du premier au troisième champ d'un texte en utilisant l'espace comme délimiteur. (Note : pour plusieurs espaces, `awk` peut être plus approprié.)
Extraire les 5 premiers caractères d'un fichier
echo "Hello World" > sample.txt
cut -c1-5 sample.txt
Extrait les cinq premiers caractères de chaque ligne du fichier sample.txt.
Afficher le fichier `/etc/passwd` en excluant le nom d'utilisateur et le shell
cut -d: -f1,7 --complement /etc/passwd
Affiche les champs restants du fichier `/etc/passwd`, délimité par des deux-points (`:`), en excluant le premier champ (nom d'utilisateur) et le septième champ (shell).
Extraire les permissions de fichier et le nom de fichier de la sortie de `ls -l`
ls -l | tr -s ' ' | cut -d' ' -f1,9
Extrait le premier champ (permissions) et le neuvième champ (nom de fichier) de la sortie de la commande `ls -l`. Ici, `tr -s ' '` est utilisé pour traiter plusieurs espaces comme un seul espace.
Conseils et précautions
La commande cut est simple et rapide, mais elle ne peut pas gérer les expressions régulières ou la logique conditionnelle complexe. Pour un traitement de texte plus complexe, envisagez d'utiliser des outils comme `awk` ou `sed`.
Conseils principaux
- **Traitement des délimiteurs d'espace :** Pour traiter des champs séparés par plusieurs espaces, `cut -d' '` ne reconnaît que les espaces uniques comme délimiteurs. Il peut être plus efficace d'utiliser `awk` comme ceci : `awk '{print $1, $3}'`.
- **Pas de support des expressions régulières :** `cut` ne prend pas en charge les expressions régulières. Si vous avez besoin de faire correspondre des motifs, utilisez `grep` et `awk` ensemble.
- **Utilisation des pipes :** `cut` est très puissant pour filtrer la sortie d'autres commandes. Il est souvent utilisé avec des pipes, comme dans `ls -l | cut -d' ' -f1,9`.
- **Spécification de plages :** Dans les options `-f` ou `-c`, `N-` signifie de la N-ième position jusqu'à la fin, et `-N` signifie du début jusqu'à la N-ième position.