Shell awk使用if条件删除不包含子字符串的所有行

Shell awk使用if条件删除不包含子字符串的所有行,shell,awk,Shell,Awk,我想删除第一列不包含子字符串“cat”的行。 所以,若第1列中的字符串是“caterpillar”,我想保留它 awk -F"," '{if($1 != cat) ... }' file.csv 我该怎么做呢 我想删除第一列不包含子字符串“cat”的行 可由本awk处理的问题: awk -F, '!index($1, "cat")' file.csv 如果这不起作用,那么我建议您提供您的示例输入和有疑问的预期输出 我想删除第一列不包含子字符串“cat”的行 可由本awk处理的问题: awk

我想删除第一列不包含子字符串“cat”的行。 所以,若第1列中的字符串是“caterpillar”,我想保留它

awk -F"," '{if($1 != cat) ... }' file.csv
我该怎么做呢

我想删除第一列不包含子字符串“cat”的行

可由本awk处理的问题:

awk -F, '!index($1, "cat")' file.csv
如果这不起作用,那么我建议您提供您的示例输入和有疑问的预期输出

我想删除第一列不包含子字符串“cat”的行

可由本awk处理的问题:

awk -F, '!index($1, "cat")' file.csv

如果这不起作用,那么我建议您提供您的示例输入和有疑问的预期输出。

此awk也能完成此工作

awk-F,'$1~/cat/{print}'文件.csv

解释

-F
:“分隔符”

$1~/cat/
:在字段1中匹配模式cat


{print}
:print

这个awk也能完成这个任务

awk-F,'$1~/cat/{print}'文件.csv

解释

-F
:“分隔符”

$1~/cat/
:在字段1中匹配模式cat

{print}
:print

较短的命令是:

awk -F, '$1 ~ "cat"' file.csv
-F
是字段分隔符:(,)

$1~“cat”
是(非锚定的)正则表达式匹配,在任何位置都匹配

由于未给出任何操作,awk采用默认值:{print}。

较短的命令是:

awk -F, '$1 ~ "cat"' file.csv
-F
是字段分隔符:(,)

$1~“cat”
是(非锚定的)正则表达式匹配,在任何位置都匹配


由于未给出任何操作,默认值:{print}由awk假设。

如果您希望人们对帮助您感兴趣,则必须开始发布示例输入和预期输出。如果您希望人们对帮助您感兴趣,则必须开始发布示例输入和预期输出。