GNU/Linux >> Linux Esercitazione >  >> Linux

aggiungi riga a un file SOLO se non è già nel file

Supponendo che tu lo voglia alla fine del file:

LINE="nohup java -jar /mnt/fusion/nfs/labStats/LabInfoAutoLog.jar > /dev/null &"
FILE=/etc/rc.d/rc.local
grep -q "$LINE" "$FILE" || echo "$LINE" >> "$FILE"

un'opzione è di due passi:

grep -q "yourline" /path/file||sed -i '/..place../ a \the line' file

possibile anche con awk,

salva tutte le righe nell'array, durante il salvataggio se la riga è stata trovata, esci. altrimenti, aggiungi la riga in END{} blocco nel posto giusto.

P.S. Non hai specificato nel file dove aggiungere quella riga.


Linux
  1. Come aggiungere numeri di riga a file di testo su Linux

  2. Casella occupata Leggi file riga per riga?

  3. Leggi un file orientato alla riga che potrebbe non terminare con una nuova riga?

  4. Avviare l'app solo se non è già aperta?

  5. Come aggiungere riga di intestazione e trailer a un file in Linux

Come leggere un file riga per riga in Bash

Come aggiungere un file di scambio su Ubuntu 20.04

file:comando non trovato

Aggiunta di una riga a un file solo se non esiste già

Perché vim non ricorda la mia posizione in un file tra le esecuzioni?

sed:come sostituire la riga se trovata o aggiungere alla fine del file se non trovata?