Je souhaiterais ajouter une ligne à un fichier par le biais d'une commande, mais cette commande ou suite de commandes doit respecter plusieurs régles
- pas de redirection
- pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée
- la manip doit pouvoir se faire même si le fichier est vid
- utilisation de programmes standard
J'ai essayé plusieurs trucs avec VI, sed etc mais je n'ai rien trouv
Le top serais une commande du type
editeur --apend "ma_ligne" mon_fichie
- la commande ne doit pas contenir les lettres u, n, i et x.
- pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée)
... avec une perche de dix mettres en Lego technic(tm) contrôlée par un moteur 4,5 V.
- la manip doit pouvoir se faire même si le fichier est vide
- la manip doit pouvoir se faire même si le fichier n'existe pas, dans un répertoire appartenant à un autre utilisateur situé sur un CD.
- utilisation de programmes standards
... disponible dans l'installation par défaut de GEMDOS.
Non, sérieusement, qui impose ces contraintes débiles ? Les trois dernières sont tout à fait raisonnables, évidemment, c'est le cahier des charges, mais la première est complètement absurde.
devloop wrote in message <devloop.1rwux3@no-mx.frbox.net>:
- pas de redirections
- la commande ne doit pas contenir les lettres u, n, i et x.
- pas de mode interractif (comprendre on n'a droit de tapper qu'une seule
fois sur la touche entrée)
... avec une perche de dix mettres en Lego technic(tm) contrôlée par un
moteur 4,5 V.
- la manip doit pouvoir se faire même si le fichier est vide
- la manip doit pouvoir se faire même si le fichier n'existe pas, dans un
répertoire appartenant à un autre utilisateur situé sur un CD.
- utilisation de programmes standards
... disponible dans l'installation par défaut de GEMDOS.
Non, sérieusement, qui impose ces contraintes débiles ? Les trois dernières
sont tout à fait raisonnables, évidemment, c'est le cahier des charges, mais
la première est complètement absurde.
- la commande ne doit pas contenir les lettres u, n, i et x.
- pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée)
... avec une perche de dix mettres en Lego technic(tm) contrôlée par un moteur 4,5 V.
- la manip doit pouvoir se faire même si le fichier est vide
- la manip doit pouvoir se faire même si le fichier n'existe pas, dans un répertoire appartenant à un autre utilisateur situé sur un CD.
- utilisation de programmes standards
... disponible dans l'installation par défaut de GEMDOS.
Non, sérieusement, qui impose ces contraintes débiles ? Les trois dernières sont tout à fait raisonnables, évidemment, c'est le cahier des charges, mais la première est complètement absurde.
Pascal Bourguignon
devloop writes:
Bonjour, J'ai une question un peu casse-tête...
Je souhaiterais ajouter une ligne à un fichier par le biais d'une commande, mais cette commande ou suite de commandes doit respecter plusieurs régles :
- pas de redirections - pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée) - la manip doit pouvoir se faire même si le fichier est vide - utilisation de programmes standards
J'ai essayé plusieurs trucs avec VI, sed etc mais je n'ai rien trouvé Le top serais une commande du type : editeur --apend "ma_ligne" mon_fichier
Si quelqu'un a une solution, merci d'avance.
Un jour j'ai gagné une bouteille de champagne avec une connerie comme ça. J'espère que ce n'est pas pour des prunes:
clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
Si on te dit que clisp n'est pas standard:
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
-- __Pascal Bourguignon__ http://www.informatimago.com/ Our enemies are innovative and resourceful, and so are we. They never stop thinking about new ways to harm our country and our people, and neither do we. -- Georges W. Bush
devloop <devloop.1rwux3@no-mx.frbox.net> writes:
Bonjour,
J'ai une question un peu casse-tête...
Je souhaiterais ajouter une ligne à un fichier par le biais d'une
commande, mais cette commande ou suite de commandes doit respecter
plusieurs régles :
- pas de redirections
- pas de mode interractif (comprendre on n'a droit de tapper qu'une
seule fois sur la touche entrée)
- la manip doit pouvoir se faire même si le fichier est vide
- utilisation de programmes standards
J'ai essayé plusieurs trucs avec VI, sed etc mais je n'ai rien trouvé
Le top serais une commande du type :
editeur --apend "ma_ligne" mon_fichier
Si quelqu'un a une solution, merci d'avance.
Un jour j'ai gagné une bouteille de champagne avec une connerie comme
ça. J'espère que ce n'est pas pour des prunes:
clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
Si on te dit que clisp n'est pas standard:
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
--
__Pascal Bourguignon__ http://www.informatimago.com/
Our enemies are innovative and resourceful, and so are we. They never
stop thinking about new ways to harm our country and our people, and
neither do we. -- Georges W. Bush
Je souhaiterais ajouter une ligne à un fichier par le biais d'une commande, mais cette commande ou suite de commandes doit respecter plusieurs régles :
- pas de redirections - pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée) - la manip doit pouvoir se faire même si le fichier est vide - utilisation de programmes standards
J'ai essayé plusieurs trucs avec VI, sed etc mais je n'ai rien trouvé Le top serais une commande du type : editeur --apend "ma_ligne" mon_fichier
Si quelqu'un a une solution, merci d'avance.
Un jour j'ai gagné une bouteille de champagne avec une connerie comme ça. J'espère que ce n'est pas pour des prunes:
clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
Si on te dit que clisp n'est pas standard:
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
-- __Pascal Bourguignon__ http://www.informatimago.com/ Our enemies are innovative and resourceful, and so are we. They never stop thinking about new ways to harm our country and our people, and neither do we. -- Georges W. Bush
drkm
Pascal Bourguignon writes:
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
Et :
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure --prefix=~/local ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
pour ne pas obliger à être root.
'wget', c'est standard ? (ça veut dire quoi « programme standard » ? POSIX ?)
--drkm
Pascal Bourguignon writes:
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
Et :
wget ftp://ftp.gnu.org/pub/gnu/clisp/release/2.33.2/clisp-2.33.2.tar.gz ; tar zxf clisp-2.33.2.tar.gz ; cd clisp-2.33.2 ; ./configure --prefix=~/local ; make ; make install ; clisp -x '(with-open-file (out "fichier" :if-does-not-exist :create :if-exists :append :direction :output) (format out "nouvelle ligne ~%"))'
pour ne pas obliger à être root.
'wget', c'est standard ? (ça veut dire quoi « programme
standard » ? POSIX ?)
Yep, bien vu (comme je me sers de ~/local, j'ajoute ce répertoire au $PATH dans mon ~/.profile). Merci.
--drkm
Stephane Chazelas
2005-07-9, 16:25(+02), devloop:
Je souhaiterais ajouter une ligne à un fichier par le biais d'une commande, mais cette commande ou suite de commandes doit respecter plusieurs régles :
- pas de redirections - pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée) - la manip doit pouvoir se faire même si le fichier est vide - utilisation de programmes standards [...] [tes lignes sont trop longues]
Si le probleme est juste que tu dois fournir une ligne de commande qui n'est pas une ligne de commande shell comme dans le -exec de find, tu peux lancer le shell toi-meme:
1er argument "sh", 2e "-c", 3e "echo blah >> fichier".
Je souhaiterais ajouter une ligne à un fichier par le biais d'une commande, mais cette commande ou suite de commandes doit respecter plusieurs régles :
- pas de redirections
- pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée)
- la manip doit pouvoir se faire même si le fichier est vide
- utilisation de programmes standards
[...] [tes lignes sont trop longues]
Si le probleme est juste que tu dois fournir une
ligne de commande qui n'est pas une ligne de commande shell
comme dans le -exec de find, tu peux lancer le shell toi-meme:
1er argument "sh", 2e "-c", 3e "echo blah >> fichier".
Je souhaiterais ajouter une ligne à un fichier par le biais d'une commande, mais cette commande ou suite de commandes doit respecter plusieurs régles :
- pas de redirections - pas de mode interractif (comprendre on n'a droit de tapper qu'une seule fois sur la touche entrée) - la manip doit pouvoir se faire même si le fichier est vide - utilisation de programmes standards [...] [tes lignes sont trop longues]
Si le probleme est juste que tu dois fournir une ligne de commande qui n'est pas une ligne de commande shell comme dans le -exec de find, tu peux lancer le shell toi-meme:
1er argument "sh", 2e "-c", 3e "echo blah >> fichier".