我尝试编写脚本来获取用户的输入,然后使用该值使用awk搜索test.csv文件并输出到屏幕。 test.csv的内容是:
Name ID
Rachel 123
Mark 321
Robert 461
例如,我想获取ID#的输入,并使用awk显示与此ID关联的名称。
#!/bin/bash
echo "Enter ID#";
read ID
echo $(awk -v val=$ID '/val/{print}' /root/Desktop/test.csv
谢谢
答案 0 :(得分:2)
/val/
匹配文字字符串“val”。相反,您可以使用以下命令将每行的第二个字与变量匹配:
awk -v val="$ID" '$2 == val {print}' /root/Desktop/test.csv
请注意,这假设您的输入是您发布的方式。如果您的.csv
文件以通常的逗号分隔,则必须指定-F ,
:
#!/bin/bash
read -p "Enter id: " id
awk -F , -v val="$id" '$2 == val { print $1 }' /root/Desktop/test.csv