如何使用linux命令修改csv格式文件中某一行的一个数字?



我有一个csv文件,看起来像这样:

ID,Name,Salary,Email
23,John,3000,john@gmail.com
15,Mike,3200,mike@gmail.com
16,Tom,3500,tom@gmail.com

如何使用ID作为标识符更改员工的工资?

我试着

echo "Id: " 
read ID 
echo "New salary: " 
read s 
awk -F "," '{ if ($1 = $ID) $3 = $s } END{print $0}' employees.csv

使用==进行比较,而不是=

Shell变量不在单引号内展开。您应该使用-v1选项将shell变量分配给awk变量。

read -p "Id: " id
read -p "New salaray: " s
awk -F ',' -v id="$id" -v salary="$s" '$1 == id { $3 = salary; print }' employees.csv > new_employees.csv

相关内容

  • 没有找到相关文章

最新更新