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

如何用VSCode或Mac终端筛选file1.csv中含file2.csv内容的行

保留CSV文件中包含指定内容的行

VSCode 操作方法

方法1:筛选复制匹配行

  1. 打开file2.csv,复制所有内容(示例中是4321和1234两行)
  2. 将复制的内容处理成|分隔的字符串,比如4321|1234(如果内容包含正则特殊字符,比如.或*,需要在字符前加\转义)
  3. 打开file1.csv,按下Cmd + F调出文件内搜索,点击搜索框右侧的.*图标启用正则表达式
  4. 在搜索框输入:^.*(4321|1234).*$,替换成你处理后的分隔字符串
  5. 点击搜索框右侧的「Find All」,所有匹配的行会被选中
  6. 右键选中内容,选择「复制」,新建文件粘贴后保存即可

方法2:删除不匹配行

  1. 按上述步骤处理得到4321|1234这样的匹配字符串
  2. 在file1.csv的搜索框输入:^(?!.*(4321|1234)).*$(反向匹配不包含指定内容的行)
  3. 替换框留空,点击「Replace All」,即可删除所有不符合条件的行

Mac终端 命令行方案

直接用grep命令快速完成筛选,无需打开编辑器:

grep -F -f file2.csv file1.csv > filtered_file1.csv

参数说明:

  • -F:将file2.csv中的每一行作为固定字符串匹配,避免正则特殊字符干扰
  • -f file2.csv:从file2.csv读取匹配规则,每一行对应一个匹配项
  • > filtered_file1.csv:将筛选结果输出到新文件,不会修改原file1.csv

如果需要直接覆盖原文件(操作前建议备份),可以先安装moreutils工具包(brew install moreutils),再执行:

grep -F -f file2.csv file1.csv | sponge file1.csv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:40:04