我想删除具有“na”的行
文件
0.000
0.000
0.055
0.036
0.003
0.002
0.000
0.002
0.002
0.002
0.000
na
na
0.000
0.000
na
0.002
0.002
0.003
输出
0.000
0.000
0.055
0.036
0.003
0.002
0.000
0.002
0.002
0.002
0.000
0.000
0.000
0.002
0.002
0.003
我试图在 R 中执行此操作,但我无法折叠行,只需删除 na
很简单:
使用 awk:
这 ”!” 表示不匹配。“/na/”指定模式“na”。它们一起表示不匹配包含模式 na 的行。awk 的默认行为是打印,但您也可以像这样专门告诉它打印(调用打印函数):
要不打印文件中的空行,请使用此正则表达式。!/^$/ 这告诉 awk 不要匹配空行。它将通过从“^”指定的行的开头到“$”指定的行的结尾进行匹配,中间没有内容。“&&”告诉它在评估每一行时使用这两个表达式。
使用 sed:
"/d 告诉 sed 删除包含匹配模式 "/na/" 的行
要直接修改源文件,而不需要写入新文件,请在 sed 中使用 -i(就地)选项
只使用内置 bash 的 bash shell:
使用 Python:
与所有其他示例一样,鉴于原始问题中提供的示例输入,这不会留下空白行。
输出