2010-12-13 70 views

Répondre

1

Vous pouvez utiliser sed comme:

  1. Imprimer seulement les lignes qui ont queen en eux et apporter des modifications en ligne.

    sed -i -n '/queen/p' file 
    
  2. lignes Supprimer qui n'ont pas queen en eux et apporter des modifications en ligne.

    sed -i '/queen/!d' file 
    

La commande ci-dessus supprimer s'ils trouvent le mot queen sur la première ligne, comme une partie d'un autre mot. Si ce n'est pas ce que vous voulez et que vous voulez supprimer uniquement les lignes où queen semble un mot séparé et non dans le cadre d'un autre mot, vous pouvez utiliser des limites de mots \b comme:

sed -i -n '/\bqueen\b/p' file 
sed -i '/\bqueen\b/!d' file 
1

Vous pouvez utiliser grep. Par exemple:

grep "queen" file.txt > newfile.txt 
+0

celui-ci serait ** inclure ** la ligne qu'il ne veut pas. Vous aurez besoin d'ajouter un -v pour les filtrer ** out ** –

+1

@Valentin: Il veut dépouiller les lignes qui n'ont pas de reine == il veut garder les lignes qui ont reine. – codaddict

+0

vous écrivez, j'étais stupide :) –

1
sed '/queen/ d' infile.txt > outfile.txt