海水_日期.csv:
submission ID, NAME, COUNT, Location
S34575265, Snow Goose, 12, Pt. Pinos
S34575294, Snow Goose, X, Pt. Pinos
S34575294, Snow Goose, 1, Pt. Pinos
S34575294, Snow Goose, 1, Pt. Pinos
S34575294, Snow Goose, X, Pt. Pinos
我需要做的是通过awk删除包含与count关联的X值的每一行。
我尝试的代码:
$ awk -F ‘$3X’ Seawatch_dat.csv
它导致错误声明意外字符“”。我假设我的命令提示符不正确。我所期望的是,运行代码将删除包含X的每一行。
预期结果:
海水_日期.csv:
submission ID, NAME, COUNT, Location
S34575265, Snow Goose, 12, Pt. Pinos
S34575294, Snow Goose, 1, Pt. Pinos
S34575294, Snow Goose, 1, Pt. Pinos
4条答案
按热度按时间pengsaosao1#
请您尝试:
顺便说一句,严格意义上说,这个文件 * 不是 * csv文件,因为它在逗号后面包含不必要的空格。
6bc51xsx2#
如果你认为你的文件是CSV格式的,那么你想删除第三列中包含
X
的行,你可以使用GNUAWK
来完成这个任务,让file.csv
的内容是那么
给出输出
说明:我通知GNU AWK字段分隔符为
,
,然后选择第三列值($3
)不等于(!=
)的行字符串X
kmb7vmvb3#
如果您 * 知道您的数据 * 在字段中除了字段3之外的任何地方都不包含
X
,并且字段总是以单个空格开始,则可以使用快速而肮脏的awk
过程:此过程使用单个模式(
//
)(默认)打印不包含(!
), X,
的记录(行7tofc5zh4#
根据问题中的示例数据,您希望只保留CSV文件中不包含大写 X 的行。
参考此JDoodle
(Note在单击执行按钮之前,必须将文件
Seawater_dat.csv
的内容复制到标准输入字段。)