0
votes

Existe-t-il un moyen d'imprimer des lignes d'un fichier de n à m et d'inverser leurs positions?

J'essaie d'imprimer du texte de la ligne 10 à 20, puis d'inverser leurs positions.

J'ai essayé ceci: xxx

mais il n'empête que de 10 à la fin du fichier. Y a-t-il un moyen de l'arrêter à la ligne 20 en utilisant une seule commande SED?


1 commentaires

Je pense que c'est possible en double de: unix.stackexchange.com/questions/9356/...


3 Réponses :


2
votes

Vous pouvez l'utiliser pour imprimer une gamme de lignes: xxx

tac inverse l'ordre des lignes


1 commentaires

Je sais qu'il y a un moyen en utilisant TAC. Mais je dois faire cela seulement en utilisant une commande SED. Je devais mentionner que dans le post, désolé.



3
votes

Presque là-bas, il vous suffit de remplacer $! d code> avec le numéro de ligne "jusqu'à" xxx pré> xxx pré> xxx pré>

sortie: P>

1
2
3
4
...
19
20


3 commentaires

Oh, c'est ce que je voulais! Merci beaucoup :)


une autre façon sed '10! g; h; 20b; d '


Ou car vous avez terminé une fois que vous imprimez l'espace motif sed '10! G; H; 20! D; fichier q 'fichier



0
votes

Et pour ceux d'entre vous sans TAC (comme ces utilisateurs Mac sur place):

sed -n -e 10,20p file.txt | tail -r 


0 commentaires