OVH Cloud OVH Cloud

cut: line too long

5 réponses
Avatar
Saïd
Bonjour,

admettons que je doive vraiment lancer cut (sous mac OS X 10.3) avec en
entree des lignes qui font plus de 2000 caracteres. Comment faire? pour
l'instant je recois une erreur: line too long.


--
Saïd.
C programmers never die - they're just cast into void.

5 réponses

Avatar
DINH Viêt Hoà

admettons que je doive vraiment lancer cut (sous mac OS X 10.3) avec en
entree des lignes qui font plus de 2000 caracteres. Comment faire? pour
l'instant je recois une erreur: line too long.


tu peux patcher cut.
les sources doivent être disponibles auprès d'OpenDarwin.

--
DINH V. Hoa,

"Ma tuxitude me beastifie" -- sunZ

Avatar
Saïd
DINH Viêt Hoà :

admettons que je doive vraiment lancer cut (sous mac OS X 10.3) avec en
entree des lignes qui font plus de 2000 caracteres. Comment faire? pour
l'instant je recois une erreur: line too long.


tu peux patcher cut.
les sources doivent être disponibles auprès d'OpenDarwin.



Bon, ben je passe a perl alors. S'il n'y a pas d'utre solutions...

--
Saïd.
C programmers never die - they're just cast into void.


Avatar
lucsky
Saïd wrote:

admettons que je doive vraiment lancer cut (sous mac OS X 10.3) avec en
entree des lignes qui font plus de 2000 caracteres. Comment faire? pour
l'instant je recois une erreur: line too long.


Je viens d'essayer avec un fichier de 10 lignes de plus de 5000
caractères chacune: strictement pas le moindre problème.

--
Luc Heinrich -

Avatar
Saïd
Luc Heinrich :
Saïd wrote:

admettons que je doive vraiment lancer cut (sous mac OS X 10.3) avec en
entree des lignes qui font plus de 2000 caracteres. Comment faire? pour
l'instant je recois une erreur: line too long.


Je viens d'essayer avec un fichier de 10 lignes de plus de 5000
caractères chacune: strictement pas le moindre problème.



brian-~ $ wc /tmp/cut13919.wln.txt
2 280 2078 /tmp/cut13919.wln.txt
brian-~ $ cut -d, -f 2 /tmp/cut13919.wln.txt
cut: /tmp/cut13919.wln.txt: line too long.

brian-~ $ which cut
/usr/bin/cut

(j'ai meme pense a ajouter une fin de ligne au cas ou elle manquerait).

Si tu veux tester sur le fichier en question:
<http://perso.wanadoo.fr/saidl/cut13919.wln.txt>

--
Saïd.
C programmers never die - they're just cast into void.


Avatar
lucsky
Saïd wrote:

brian-~ $ wc /tmp/cut13919.wln.txt
2 280 2078 /tmp/cut13919.wln.txt
brian-~ $ cut -d, -f 2 /tmp/cut13919.wln.txt
cut: /tmp/cut13919.wln.txt: line too long.


Effectivement, en utilisant -d -f il y a une erreur. Les sources de
darwin montrent clairement que la limite de taille pour une ligne dans
ce cas là est _POSIX2_LINE_MAX, qui est égal à 2048 (defini dans
/usr/include/limits.h).

Faut trouver autre chose donc, et pour ce genre de boulot, c'est pas les
moulinettes qui manquent :)

--
Luc Heinrich -