Cercando son riuscito a fare così: inserisco la stringa con

sed -i -e '5istringa_da_iserire\' /*

essendo che ci sono più file già con la stringa, dopo mi ritrovo le stringhe doppie, quindi per rimuovere le stringhe doppie cercando c'è sempre l amico sed:) con

sed -i '$!N; /^\(.*\)\n\1$/!P; D' /*

c'è un modo per evitare il secondo comando? cioè inserendo la stringa soltanto nel file che non c'è ?

Grazie
Saluti

chiesto 14 Feb '15, 19:10

Davide_74's gravatar image

Davide_74
617235571

modificato 14 Feb '15, 19:38

dadexix86's gravatar image

dadexix86 ♦♦
16.9k816161

Se ho capito bene vuoi inserire una stringa in dei file dove non c'è? Se si ti basta fare un controllo if sul valore di ritorno del comando

cat file | grep stringa
(14 Feb '15, 19:41) dslul dslul's gravatar image

infatti ho già provato,ma non funziona perchè devo cercare in molti file non conoscendo il nome, cat /* | grep stringa non va bene

(14 Feb '15, 20:14) Davide_74 Davide_74's gravatar image

allora devi fare un ciclo del tipo

for i in $(find . -type f); do
    controllo su grep e sed
done

Ovviamente se non vuoi operare ricorsivamente su tutte le sottodirectory imposta -maxdepth sulla find al valore che preferisci

(15 Feb '15, 10:34) dslul dslul's gravatar image

Grazie,quindi il modo c'è:) devo operare soltanto in una cartella,poi a dire la verità non saprei come applicare il ciclo,appena ho qualche minuto lucido cercherò di capire.

Saluti

(15 Feb '15, 13:55) Davide_74 Davide_74's gravatar image
2

@dslul: sia cat file | grep stringa che l'altro comando, sono sconsigliabili. Il primo perché usa due processi quando potresti usarne uno facendo semplicemente grep stringa file. Il secondo è addirittura sbagliato, perché fallisce se qualcuno dei nomi dei file trovati da find contiene uno spazio, cosa non trascurabile.

(15 Feb '15, 14:49) enzotib ♦♦ enzotib's gravatar image

quindi evito di provare a capire come applicare.

ma non credo che la cosa non sia fattibile. comunque Grazie

Saluti

(15 Feb '15, 19:15) Davide_74 Davide_74's gravatar image
Scrivi tu la prima risposta!
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×93

domanda posta: 14 Feb '15, 19:10

domanda visualizzata: 517 volte

ultimo aggiornamento: 15 Feb '15, 19:15

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.