【问题标题】:cat from file.csv with grep data带有 grep 数据的 file.csv 中的 cat
【发布时间】:2017-03-23 02:15:43
【问题描述】:

我在file.csv有数据:

(...)
0000046;0000046;04688;29;1;52.1683;20.5567
0000046;0000046;04688;2A;1;52.1818;20.5639
0000046;0000046;04688;3;1;52.1785;20.5629
0000046;0000046;04688;4;1;52.1815;20.5638
0000046;0000046;04688;5;;52.1779;20.5635
0000046;0000046;04688;6;1;52.1813;20.5636
0000046;0000046;04688;7;;52.1777;20.5634
0000046;0000046;04688;8;;52.1810;20.5635
0000046;0000046;04688;9;1;52.1775;20.5631
0000046;0000046;05027;2;;52.1908;20.5660
0000046;0000046;05027;4;1;52.1907;20.5649
0000046;0000046;05527;1;1;52.1824;20.5636
(...)

我需要提取第三个字段与给定值匹配的行。我试过了

cat file.csv |grep 05027

不幸的是,它匹配任何包含05027 的任何行。如何限制只匹配第三个字段?

【问题讨论】:

  • 对于显示的示例输入,您尝试的命令应该有效...您可以复制粘贴您得到的输出吗?

标签: bash awk sed grep cat


【解决方案1】:

首先,grep 不需要cat,只需grep pattern file 即可

awk 更容易处理基于列的数据输入。

你可以尝试的是:

awk -F';' '$3=="05027"' file

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-02-06
  • 2023-03-30
  • 2020-07-22
  • 1970-01-01
  • 2019-12-31
  • 1970-01-01
相关资源
最近更新 更多