2011-11-09 11 views

risposta

25
grep -v '^string' yourfile.txt > stripped.txt 
+0

come circa fuori dello stesso file? – t3hcakeman

+0

Non posso davvero farlo con grep. ma è possibile eseguire l'output in un file temporale quindi "mv tempfile origfile". Se si desidera una vera modifica sul posto, è necessario utilizzare sed/perl/awk. –

+0

come utilizzerei quelli allora? : D – t3hcakeman

26

di farlo al suo posto, se il vostro sed supporta l'opzione -i, si può fare:

 
sed -i '/^string/d' input-file 
+2

sed si aspetta un'estensione di file per il backup quando si usa '-i', in OS X devi essere molto pedante, quindi usare esplicitamente virgolette singole:' sed -i '' '/^string/d' input-file' –

+2

In OSX, il 'sed' predefinito non supporta nemmeno '-i'! La mia preferenza personale è quella di non usare mai '-i' e invece di reindirizzare con la shell. –

+0

No '-e' necessario? – Mausy5043

0

sed e grep nelle vostre risposte mancano il loro amico awk:

awk '!/^string/' inputfile > resultfile 
+1

Ho bisogno che sia nello stesso file – t3hcakeman

0

È possibile utilizzare Vim in modalità Ex:

ex -sc g/^string/d -cx file 
  1. g selezionare tutte le linee corrispondenti

  2. d eliminare

  3. x salvare e chiudere

Problemi correlati