修复k,比如说k = 2。假设我们有一个文本文件file.txt
,该文件至少有k列,并且列由|
符号分隔。如何通过删除第2列等于“NA”的每一行来清除file.txt
?可以说输出定向到outfile.txt
。
答案 0 :(得分:6)
awk '$2 != "NA"' FS='|'
输入:
111|222|333
444|NA|666
777|888|999
输出:
111|222|333
777|888|999
答案 1 :(得分:2)
我无法访问PC,但有些内容如下:
gawk -F '|' '$2 != "NA"{ print}' file.txt >outfile.txt
答案 2 :(得分:1)
具有反向匹配的grep也可以这样做:
grep -v '^\([^|]\+|\)\{1\}NA|' file.txt > outfile.txt
# ^ ^
# | +-- search pattern
# +----- number of leading columns