
タブで区切られた列を含む入力ファイルがあります。
4番目と10番目の列から「NA」を含む行を削除する必要があります。
質問:awkではどうすればいいですか?
答え1
awk -F"\t" '$4 != "NA" || $11 != "NA"' filename
awk はファイルをその場で編集しません。変更をファイルに再保存するには、次の手順を実行します。
tmp=$(mktemp)
awk -F"\t" '...' filename > "$tmp" && mv "$tmp" filename
答え2
awk
基準に合わない行を印刷するように指示します。
BEGIN { FS="\t" }
$4 != "NA" || $11 != "NA"
これはブール論理の逆過程です~a|~b == a&b
。ここで。