You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Awk移除管道分隔文件中第三字段为空的行并转移至新文件

没问题,这事儿用Awk就能一步搞定!核心思路就是在Awk里加两个判断分支,分别处理要保留的行和要移除的行:

实现命令

awk -F '|' '$3 != "" {print > "temp_file"} $3 == "" {print > "file2"}' file1 && mv temp_file file1

逐部分解释

  • -F '|':告诉Awk用管道符|作为字段分隔符,这样才能正确识别第三字段$3
  • $3 != "" {print > "temp_file"}:如果第三字段不为空,就把该行写入临时文件temp_file
  • $3 == "" {print > "file2"}:如果第三字段是空的,就把该行写入你指定的file2
  • && mv temp_file file1:等Awk处理完所有行后,把临时文件替换成原文件file1,这样原文件就只剩下符合要求的行啦

小提示

千万别直接让Awk写入原文件file1哦!因为Awk在读取文件的同时写入会导致数据错乱,用临时文件中转才是安全的做法。

内容的提问来源于stack exchange,提问作者as7951

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:28:57