web-dev-qa-db-fra.com

Comment ajouter plusieurs lignes de texte dans un fichier à l'aide d'un script Shell

Je veux écrire plusieurs lignes (5 ou plus) dans un fichier que je vais créer en script. Je peux le faire par echo >> filename. Mais je voudrais savoir quelle est la meilleure façon de procéder?

33
Yrgl

Vous pouvez utiliser un document ici:

cat <<EOF >> outputfile
some lines
of text
EOF
83
Dennis Williamson

J'utilise habituellement le soi-disant "ici-document" suggéré par Dennis. Une alternative est:

(echo first line; echo second line) >> outputfile

Cela devrait avoir des performances comparables dans bash, car (....) démarre un sous-shell, mais l'écho est "en ligne" - bash ne lance pas/bin/echo, mais fait l'écho lui-même.

Cela pourrait même être plus rapide car il n'implique aucun exec ().

Ce style est encore plus utile si vous souhaitez utiliser la sortie d'une autre commande quelque part dans le texte.

4
Robert Hensing