À l'aide de sed, comment voulez-vous imprimer le premier " N " caractères d'une ligne?
Avec sed, ce qui est en une seule ligne d'imprimer les n premiers caractères. Je suis en train de faire les suivants.
grep -G 'defn -test.*' OctaneFullTest.clj | sed ....
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser sed, l'utilisation de coupe.
Si vous DEVEZ utiliser sed:
cut
ne coupe pas toutsed
n'.sed -r 's/^(.{12}).*/\1/'
.cut -c 1-N
(où N est un nombre) t travail sur mon Cygwin installation (cygwin v. 2.6, couper v. 8.25) Sur OS X, utilisezsed -E
plutôt quesed -r
, utilisé ailleurs.cut
ne fonctionne pas avec l'utf8 (encore).colrm
(voir manoflinux réponse ci-dessous).brew install gnu-sed
. ensuite utilisésgsed
de commande.Par exemple, si vous avez besoin de les 100 premiers caractères:
Il a été autour depuis des années et est dans la plupart des linux et bsd (freebsd pour être sûr), généralement par défaut. Je ne me souviens pas d'avoir jamais eu à type
apt-get install colrm
.colrm
comprend utf8.n'avez pas à utiliser grep soit
un exemple:
Strictement avec sed:
D'imprimer les N premiers caractères que vous pouvez supprimer le N+1 caractères jusqu'à la fin de la ligne: