mas*_*zst 0 bash awk grep sed cat
我有数据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
(...)
Run Code Online (Sandbox Code Playgroud)
我需要提取第三个字段与给定值匹配的行.我试过了
cat file.csv |grep 05027
Run Code Online (Sandbox Code Playgroud)
不幸的是,这匹配任何包含05027任何地方的行 如何限制仅匹配第三个字段?
首先,你不需要catfor grep,你可以grep pattern file
awk更容易处理基于列的数据输入.
你可以尝试的是:
awk -F';' '$3=="05027"' file
Run Code Online (Sandbox Code Playgroud)