パターンのあるファイル内のすべての行を削除するスクリプトがあります(名前XとsurnameXなど)。問題はいつか、さらにライン内の他のフィールドにnameXが現れることができることであり、それはまたパターンに一致する行を削除する方法
ラインnameXsurnameX sdkflfjffsl sdlfjsd flsdkjsdjf sdlfdf> [OK]を削除するを削除
nameYsurnameY ddsfdsfsfsfのSF sdfdfdfdsfdsf FDF fsdf> nameY
ラインを保つsurnameX dfdsfsffsfs df fsfsdfsff nameX fdsfffs>削除しますが、私はそれを気にしません。どうやって進める ?
awk '!($1~v1 && $2~v2)' v1="nameX" v2="surnameX" /home/oldfile > /home/newfile
注:
私のコードはappreciattedされます:)あなたは、あなただけの入力での最初のフィールドを確認することができました。例えば
試し 'のawk「$ 1!〜V1 || $ 2!〜v2 'v1 = "nameX" v2 = "surnameX"/home/oldfile>/home/newfile' –
$ 1と$ 2は列ですか? –
はい、 '$ 0'は全行 –