Bonjour, je me demandais comment obtenir cowsay
pour lire un mot à la fois à partir d’un fichier texte. Je suis à Ground Zero en ce moment, j'utilise PuTTY et j'ai vraiment besoin d'aide.
Cela semble être un cas rare où le fractionnement de Word est réellement souhaitable:
for Word in $(<file.txt); do cowsay "$Word"; sleep 1; done
(la commande sleep
est facultative). Ou il y a toujours xargs
:
xargs -a file.txt -n1 cowsay
Voici quelque chose que je suis venu très rapidement. J'ai mis une ligne dans un fichier test, puis je l'ai envoyé à Cowsay.
terrance@terrance-ubuntu:~$ cat cstest.txt
This is a test file to test cowsay
Je le règle pour lire chaque ligne, puis fais un for loop
de chaque ligne pour lire chaque mot. Exemple ci-dessous:
:~$ cat cstest.txt | while read line; do for Word in $line; do cowsay $Word; done; done
______
< This >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
____
< is >
----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
___
< a >
---
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
______
< test >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
______
< file >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
____
< to >
----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
______
< test >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
________
< cowsay >
--------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Chaque ligne individuelle de cette commande ressemblerait à ceci:
:~$ cat cstest.txt | while read line
>do
>for Word in $line
>do
>cowsay $Word
>done
>done
J'espère que cela t'aides!
Python one-liner:
python -c 'import sys,subprocess;[subprocess.call(["cowsay",w]) for l in sys.stdin for w in l.split()]' < words.txt
Échantillon échantillon:
$ cat words.txt
this is a test
$ python -c 'import sys,subprocess;[subprocess.call(["cowsay",w]) for l in sys.stdin for w in l.split()]' < words.txt
______
< this >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
____
< is >
----
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
___
< a >
---
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
______
< test >
------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
$