GNU/Linux >> Tutoriels Linux >  >> Linux

La commande inverse de coupe existe-t-elle ?

J'aime utiliser la cut commande sous Linux avec le -c drapeau. Cependant, je suis intéressé à trouver une commande qui fait en quelque sorte l'inverse de cut . Essentiellement, compte tenu de l'entrée :

drwxrwxrwx 2 root root 4096 4096 4 20:15 bin
drwxrwxrwx 2 root root 4096 4096 4 20:15 Desktop

Je voudrais tout voir sauf "4096 4 20:15". Voici le résultat :

drwxrwxrwx 2 root root bin
drwxrwxrwx 2 root root Desktop

Je veux pouvoir couper littéralement entre les caractères x et y, si cela a du sens.

Des idées? Je ne peux pas imaginer que ce serait un script difficile à écrire, mais s'il existe déjà une commande pour cela, j'aimerais l'utiliser.

Réponse acceptée :

Comme d'autres l'ont souligné, vous ne devez pas analyser la sortie de ls . En supposant que vous utilisez ls uniquement à titre d'exemple et analysera autre chose, il existe plusieurs façons de faire ce que vous voulez :

  1. cut avec -d et -f

    cut -d ' ' -f 1,2,3,4,9
    

    de man cut :

    -d, --delimiter=DELIM
          use DELIM instead of TAB for field delimiter
    
    -f, --fields=LIST
          select only these fields;  also print any line
          that contains no delimiter  character,  unless
          the -s option is specified
    

    Spécifiquement pour ls cela risque d'échouer depuis ls modifiera la quantité d'espaces blancs entre les champs consécutifs pour mieux les aligner. cut traite foo<space>bar et foo<space><space>bar différemment.

  2. awk et ses variantes divisent chaque ligne d'entrée en champs sur un espace blanc afin que vous puissiez lui dire de n'imprimer que les champs que vous voulez :

    awk '{print $1,$2,$3,$4,$9}'
    
  3. Perle

    perl -lane 'print "@F[0 .. 3,8]"'
    

Linux
  1. Que signifie l'attribut "s" dans les autorisations de fichiers ? ?

  2. Comment fonctionne la commande 'ls' sous Linux/Unix ?

  3. Le problème Thundering Herd existe-t-il encore sous Linux ?

  4. Que signifie &à la fin d'une commande Linux ?

  5. Que signifie la syntaxe |&en langage shell ?

Comment la commande stat calcule-t-elle les blocs d'un fichier ?

Que fait la ligne '!/bin/sh -e' ?

La commande Linux sed ne modifie pas le fichier cible

Comment mon navigateur localise-t-il les serveurs racine DNS les plus proches ?

Comment un noyau monte-t-il la partition racine ?

Comment fonctionne la commande ps ?