Bagaimana cara menyaring baris output perintah yang terjadi dalam file teks?

15

Katakanlah kita memiliki file teks dari baris terlarang forbidden.txt. Apa cara singkat untuk memfilter semua baris output perintah yang ada di file teks?

cat input.txt | exclude-forbidden-lines forbidden.txt | sort
danijar
sumber
4
fgrep -vxf forbidden.txt input.txt | sort
Satō Katsura

Jawaban:

26

Gunakan grepseperti ini:

$ grep -v -x -F -f forbidden.txt input.txt

Itu daftar panjang opsi grepberarti

  • -vBalikkan kecocokan, yaitu mencari hal-hal yang tidak cocok.
  • -xSaat mencocokkan suatu pola, mengharuskan pola tersebut cocok dengan seluruh garis , yaitu tidak hanya di mana saja pada garis.
  • -FSaat mencocokkan suatu pola, perlakukan sebagai string yang tetap , yaitu bukan sebagai ekspresi reguler.
  • -fBaca pola dari file yang diberikan ( forbidden.txt).

Kemudian pipa itu ke sortatau apa pun yang ingin Anda lakukan dengannya.

Kusalananda
sumber