web-dev-qa-db-fra.com

Commande pour ajouter une ligne à un fichier texte sans ouvrir d'éditeur

En supposant que j'ai une ligne que je veux ajouter à un fichier sans ouvrir un éditeur.

Comment pourrais-je ajouter cette ligne

alias list='ls -cl --group-directories-first'

à ce fichier

config.fish
143
NES

Vous pouvez ajouter une ligne de texte à un fichier à l'aide de l'opérateur >>:

echo "hello world" >> my_file.txt

ou dans votre cas

echo "alias list='ls -cl --group-directories-first'" >> config.fish

Veuillez prendre note des différents types de citations .

228
Stefano Palazzo

Il existe de nombreuses méthodes pour ajouter des fichiers sans ouvrir d'éditeurs de texte, en particulier via plusieurs utilitaires de traitement de texte disponibles dans Ubuntu.

  • tee -a config.fish <<< "alias list='ls -cl --group-directories-first'"
  • awk 'BEGIN{ printf "alias list=\x27ls -cl --group-directories-first\x27\n" >> "config.fish" }'
  • sed -i '$a alias list='"'"'ls -cl --group-directories-first'"'" config.fish
3

En ajoutant réponse de Stefano , vous pouvez également utiliser cat:

  • En utilisant un heredoc:

    $ cat >> config.fish <<'EOF'
    > alias list='ls -cl --group-directories-first'
    > EOF
    

    <<'EOF' signifie "prend ce qui suit en entrée jusqu'à atteindre une ligne qui est juste EOF". Les citations signifient prendre l’entrée littéralement.

  • Ou en entrant la ligne sur stdin:

    $ cat >> config.fish
    

    Puis collez ou tapez dans la ligne, appuyez sur Enter pour aller à une nouvelle ligne, appuyez ensuite sur Ctrl + D pour marquer la fin.

1
wjandrea