例如,如果第二列是0,则将该行变成空行
awk '{if($2==0) $0=null;print $0}' lca_virus > 2lca_virus
#删除空行
sed -i '/^$/d' 2lca_virus
想要把 csv 中的第二列和第四列的内容删除,可使用如下命令
cat file | awk '{$2=null;$4=null;print $0}' | awk 'BEGIN{OFS=",";}{print $1,$2,$3,$4}' > file2
删除文件前三列
方法一:将第一列,第二列,第三列置空,重定向到一个新的文件中
awk '{$1="";$2="";$3="";print $0}' filename > newfilename
方法二:
awk '{for(i=4;i<NF;i++)printf("%s ",$i);print $NF}' filename > newfilename
参考自 linux 使用 awk 删除 csv 文件某一列的命令_积跬步至千里-程序员宅基地_linux命令删除指定列 - 程序员宅基地