Comment puis-je concaténer un fichier et à la chaîne dans un nouveau fichier UNIX comme une ligne de commande
J'ai besoin d'un exemple très simple (je l'espère), 1 doublure de commande qui lit dans un fichier ajoute une chaîne et génère un nouveau fichier, sans modifier les données d'origine.
file1 string
------ ------
apple oranges
bananas
MAGIE DE COMMANDE
filel file2
------ ------
apple apple
bananas bananas
oranges
fondamentalement, cat fichier1 + 'oranges' > fichier2
Je suis en utilisant autosys pour exécuter la commande, et je suis assez sûr qu'il ne permet pas de &&
ou ;
dans le cadre d'une commande unique.
Quel est le problème avec le code que vous avez fourni?
chat pense th + et "oranges" sont des fichiers et dit qu'il ne peut pas les ouvrir.
Ne pouvez-vous pas juste cat fichier1 en fichier2 puis ajouter la chaîne? Vous pouvez même exécuter les deux commandes en une seule ligne.
C'est ce que je veux faire, mais je n'ai pas compris comment. J'ai essayé toutes sortes de variations sur cat fichier1 > echo $string >> fichier2, mais rien ne fonctionne. Donc quand vous dites "je ne peux pas?" Je le dis, je suis sûr que je peux, mais je n'ai pas compris la commande effective.
Je suis venu avec cette: cp fichier1 fichier2 && echo 'oranges' >> fichier2 mais je suis en utilisant autosys pour exécuter la commande, et je suis presque certain qu'il ne me laisse pas de chaîne de commandes avec &&
chat pense th + et "oranges" sont des fichiers et dit qu'il ne peut pas les ouvrir.
Ne pouvez-vous pas juste cat fichier1 en fichier2 puis ajouter la chaîne? Vous pouvez même exécuter les deux commandes en une seule ligne.
C'est ce que je veux faire, mais je n'ai pas compris comment. J'ai essayé toutes sortes de variations sur cat fichier1 > echo $string >> fichier2, mais rien ne fonctionne. Donc quand vous dites "je ne peux pas?" Je le dis, je suis sûr que je peux, mais je n'ai pas compris la commande effective.
Je suis venu avec cette: cp fichier1 fichier2 && echo 'oranges' >> fichier2 mais je suis en utilisant autosys pour exécuter la commande, et je suis presque certain qu'il ne me laisse pas de chaîne de commandes avec &&
OriginalL'auteur Christian | 2012-07-09
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire ceci:
Qui va lancer un shell interne est exécuté, ce qui permettra de cat fichier1 stdout, puis l'écho des oranges à stdout. Et nous capturer tous que la production et la rediriger vers un nouveau fichier, fichier2.
Ou ces 2 commandes:
Qui, la première copie fichier1 la nouvelle fichier2, et ajoute ensuite le mot de l'orange pour fichier2
Voici un autre paquebot qui ne l'utilisez pas ; ni &&
Ont-ils vraiment besoin d'être une seule ligne? Ne pouvez-vous pas mettre les deux commandes dans un shell script et l'exécuter?
Mieux comprendre à quel type de commandes que vous pouvez exécuter dans autosys. Ou de l'utilisation de la dernière approche ici, qui passe à 2 commandes successives.
Je pourrais très bien créer un script shell et de le faire. Mais merci pour le travail, il ajoute plus de travail pour obtenir les choses dans des environnements différents, donc une seule ligne serait la meilleure.
Ne peut pas le faire && et ne peut pas faire ; dans la commande. Pipe et std_out sont autorisées s'
OriginalL'auteur nos
Vous pouvez probablement utiliser la solution standard (nos) si vous passez comme une chaîne de sh:
OriginalL'auteur William Pursell
Alors cela devrait le faire:
OriginalL'auteur Aftnix