Si la commande doit fonctionner avec des tabulations et des espaces comme délimiteur, j'utiliserais awk
:
awk '{print $100,$101,$102,$103,$104,$105}' myfile > outfile
Tant que vous avez juste besoin de spécifier 5 champs, vous pouvez simplement les saisir, pour des plages plus longues, vous pouvez utiliser un for
boucle :
awk '{for(i=100;i<=105;i++)print $i}' myfile > outfile
Si vous souhaitez utiliser cut
, vous devez utiliser le -f
choix :
cut -f100-105 myfile > outfile
Si le délimiteur de champ est différent de TAB
vous devez le spécifier en utilisant -d
:
cut -d' ' -f100-105 myfile > outfile
Consultez la page de manuel pour plus d'informations sur la commande de coupe.
Vous pouvez utiliser cut avec un délimiteur comme celui-ci :
avec espace delim :
cut -d " " -f1-100,1000-1005 infile.csv > outfile.csv
avec tab delim :
cut -d$'\t' -f1-100,1000-1005 infile.csv > outfile.csv
Je vous ai donné la version de cut dans laquelle on peut extraire une liste d'intervalles...
J'espère que cela vous aidera !