J’ai besoin d’une commande très simple (je l’espère) de 1 ligne qui lit dans un fichier ajoute une chaîne et sort dans un nouveau fichier, sans changer les données d’origine.
file1 ssortingng ------ ------ apple oranges bananas
COMMANDE MAGIQUE
filel file2 ------ ------ apple apple bananas bananas oranges
essentiellement, cat file1 + ‘oranges’> file2
J’utilise des autosys pour exécuter la commande, et je suis presque sûr que cela ne permet pas l’utilisation de &&
ou ;
dans le cadre d’une commande unique.
Tu peux le faire:
(cat file1 ; echo 'oranges') > file2
Ce qui va engendrer un sous-shell, qui va catcher fichier1 à la sortie, puis faire écho aux oranges à la sortie standard. Et nous capturons toutes ces sorties et les redirigeons vers un nouveau fichier, fichier2.
Ou ces 2 commandes:
cp file1 file2 echo 'oranges' >> file2
Le premier qui copie le fichier1 dans le nouveau fichier2, puis ajoute le mot oranges au fichier2
Voici un autre paquebot qui n’utilise pas; ni &&
echo oranges | cat file1 - > file2
awk '1; END{ print "oranges"}' file1 > file2
Vous pouvez probablement utiliser la solution standard (donnée par nos) si vous la transmettez sous forme de chaîne à sh:
sh -c 'cat file1; echo oranges' > file2
Alors ça devrait le faire:
$cat file1 >> file2; echo "orange" >> file2;