というファイルがありますfile1.txt。「①」や「市」を含む行を除いて、「中心」「農場」「中」などを含む行をすべて削除したいです。
- 削除と例外のリストは非常に長いです。
 - ファイルは UTF-8 です。
 
これらの単語の少なくとも 1 つを含むすべての行を削除するにはどうすればよいですか?
これはあなたのために働くかもしれません:
sed -i '/center of\|farm\|middle of/{/①\|city/!d}' file1.txt
また
sed -i '/center of/ba
        /farm/ba
        /middle of/ba
        b 
        :a
        /①/b
        /city/b
        d' file1.txt
words.txtおよびexceptions.txtファイルがある場合は、次を使用します。
sed '/\*exceptions\*/{h;s/.*/:a/p;d}
    x
    /./{x;s|.*|/&/b|p;$!d;s/.*/d/;q}
    x
    s|.*|/&/ba|' words.txt - <<<"*exceptions*" exceptions.txt > file.sed
sed -i -f file.sed file1.txt
    sed -r '/①|city/{p;d};/center of|farm|middle of/d' file1.txt
    sed '/blacklist/{/whitelist/p;d}' file
ホワイトリスト以外のブラックリストを削除します。
echo -e "a b\nb c\nc d\nd e\ne f" | sed '/c\|d/{/a\|b/p;d}'
版画
a b
b c
e f
これは、c または d を含まないすべての行と、a または b を含む場合にのみ c または d を含む行です。