Comando per aggiungere una riga a un file di testo senza aprire un editor

125

Supponendo di avere una linea che voglio aggiungere a un file senza aprire un editor.

Come potrei aggiungere questa linea

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

a questo file

config.fish
    
posta NES 14.01.2011 - 20:00

3 risposte

199

Puoi aggiungere una riga di testo a un file utilizzando l'operatore >> :

echo "hello world" >> my_file.txt

o nel tuo caso

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

Prendi nota delle diversi tipi di citazioni .

    
risposta data Stefano Palazzo 14.01.2011 - 20:09
2

Esistono molti metodi per aggiungere file senza aprire editor di testo, in particolare tramite più utilità di elaborazione testo disponibili in 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
risposta data Sergiy Kolodyazhnyy 17.06.2018 - 23:01
1

Aggiunta alla risposta di Stefano , puoi anche utilizzare cat :

  • Usando un heredoc:

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

    <<'EOF' significa "prendi il seguente come input, finché non raggiungi una riga che è solo EOF ". Le virgolette significano prendere l'input letteralmente.

  • O inserendo la linea su stdin:

    $ cat >> config.fish
    

    Quindi incolla o digita la riga, premi Invio per andare a una nuova riga, quindi premi Ctrl + D per segnare la fine.

risposta data wjandrea 18.06.2018 - 01:05

Leggi altre domande sui tag