选择第二列中具有特定值的行

问题描述 投票:0回答:2

我是bash的初学者。我有一个.csv文件。它包含2列(名称和数字)。这是列的内容:

Name, Num 
ex1, 10.20.30.40 
ex2, 20.30.40.30 
ex3, 10.45.60.20 
ex4, 10.20.30.40

我想选择其第二列等于$ Number的行(例如“ 10.20.30.40”)。我使用此脚本:

awk -F, '$2 == $Number' name.csv >output.txt

但是执行代码后,“ output.txt”为空。当我回显找到的值时,它也不显示任何内容。怎么了?

我还想访问存储在该行第一列中的值。我应该怎么做?

bash
2个回答
0
投票

简单的grep可以满足您的需要-以下将匹配字符串的整行输出到output.txt文件中:

grep "$Number" name.csv > output.txt

0
投票

尝试一下

Number='^.\{3\}, 10.20.30.40$'
grep "$Number" yourfile.csv > output.txt
© www.soinside.com 2019 - 2024. All rights reserved.