如何使用Bash脚本从CSV文件中获取包含指定子串的uniqueness列值
实现方案
以下是几种不同场景下的实现方式,都可以得到你要的结果:
1. 命令行快速处理(csvkit工具)
csvkit是专门处理CSV文件的命令行工具,对格式兼容性更好,不会因为逗号出现在字段值里出错:
- 安装(按需选对应命令):
- Debian/Ubuntu系统:
sudo apt install csvkit - macOS系统:
brew install csvkit - Python环境直接装:
pip install csvkit
- Debian/Ubuntu系统:
- 处理命令:
输出结果就是匹配到的csvgrep -c uniqueness -r 'UniqueString' 你的文件路径.csv | csvcut -c uniqueness | tail -n +2randomStringHavingUniqueString
2. 轻量命令行处理(awk工具,系统自带无需安装)
如果你的CSV字段里没有内嵌逗号,用awk更方便,直接运行:
awk -F ',' 'NR>1 && $4 ~ /UniqueString/ {print $4}' 你的文件路径.csv
逻辑说明:用逗号做分隔符,跳过第一行表头,匹配第4列(即uniqueness列)包含UniqueString的行,打印对应列的值。
3. Python代码实现
需要把逻辑集成到代码里的话,可以用Python自带的csv模块处理:
import csv with open("你的文件路径.csv", "r", encoding="utf-8") as f: reader = csv.DictReader(f) for row in reader: if "UniqueString" in row["uniqueness"]: print(row["uniqueness"])
内容的提问来源于stack exchange,提问作者Jeet
相关产品推荐
相关产品推荐

