Réponses:
Vous pouvez ajouter une ligne de texte à un fichier en utilisant 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 devis .
-i
mettra à jour le fichier (sinon, il imprimera simplement le résultat sur stdout), $
sera une regex qui correspondra à la fin du fichier et a
ajoutera le texte suivant à nomfichier.
echo "hello world" >> my_file.txt
ne crée pas une nouvelle dernière ligne avec HW
, mais l'ajoute à la chaîne de la dernière ligne.
HW
@timo?
echo
qui ajoute le saut de ligne (ce qui en fait une ligne par opposition à un groupe de caractères). Vous pouvez désactiver la rupture de ligne à la fin avec -n
.
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
En ajoutant à la 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 juste EOF
". Les citations signifient prendre l’entrée littéralement.
Ou en entrant la ligne sur stdin:
$ cat >> config.fish
Ensuite, collez ou tapez la ligne, appuyez sur Enterpour aller à une nouvelle ligne, puis appuyez sur Ctrl + D pour marquer la fin.
>
le fichier sera tronqué et non ajouté. Pour une commande plus sûre, vous pouvez utiliser sed:sed -i '$a hello world' filename