【发布时间】:2014-01-24 14:36:39
【问题描述】:
我有一个 csv 文件,我需要从中提取第一列。我想获取标题(由字母组成)和仅由数字组成的数据。
示例输入:
"HEADER1","HEADER2"
"1234567","TEXT"
"3456789","TEXT2"
由于两者都封装在双引号中,我的输出应该是:
"HEADER"
"1234567"
"3456789"
我目前正在使用以下正则表达式,它只给我数据而不是标题。我认为中间的“或”运算符将包括任何文本以及用双引号封装的数字。知道为什么这没有给我我的标题吗?
grep -o "^\"[0-9]\+\"\|^\"[A-Z]\+\"\"" test.csv > test2.csv
干杯
【问题讨论】:
-
你试过
grep -o "^\"[0-9A-Z]\+\"" test.csv吗? -
谢谢@leu - 太简单了!
-
@leu,
[0-9]\+\|[A-Z]\+和[0-9A-Z]\+之间是有区别的。