如何替换 csv 文件中的信息?
how do I replace a information Fromm csv file?
我有以下程序
#!/bin/bash
exec 3< lista.csv
read -u 3 header
declare -i id_nou
echo "ID: "
read id_nou
while IFS=, && read -u 3 -r id nume prenume seria grupa nota
do
if [ "$id_nou" -eq "$id" ]
then
echo "Nota noua: "
read nota_noua
nota=$nota_noua
print > lista.csv
fi
done
我的 csv 文件看起来像这样:
id,nume,prenume,grupa,seria,nota
1,离子,安德拉达,1003,A,8
2,Simion,Raluca,1005,A,7
3,Gheorghita,Mihail,1009,B,5
4,Mihailescu,Georgina,1002,A,6
我想做的是将通讯员 id 的 nota 值替换为键盘值给定的值,但这似乎不起作用。
错误信息是
第 14 行:打印:未找到命令
有什么建议吗?
这是 awk 中的一个:
awk 'BEGIN {
FS=OFS="," # comma field separators
printf "id: " # ask for id
if((getline id < "/dev/stdin")<=0) # store to a variable
exit 1
printf "nota: " # ...
if((getline nota < "/dev/stdin")<=0)
exit 1
}
==id { # if firsst field matches
$NF=nota # replace last field value
}
1' file # output
输出:
id: 1
nota: THIS IS NEW VALUE
id,nume,prenume,grupa,seria,nota
1,Ion,Andrada,1003,A,THIS IS NEW VALUE
2,Simion,Raluca,1005,A,7
3,Gheorghita,Mihail,1009,B,5
4,Mihailescu,Georgina,1002,A,6
Here 是关于保存更改的一些信息。
我有以下程序
#!/bin/bash
exec 3< lista.csv
read -u 3 header
declare -i id_nou
echo "ID: "
read id_nou
while IFS=, && read -u 3 -r id nume prenume seria grupa nota
do
if [ "$id_nou" -eq "$id" ]
then
echo "Nota noua: "
read nota_noua
nota=$nota_noua
print > lista.csv
fi
done
我的 csv 文件看起来像这样:
id,nume,prenume,grupa,seria,nota
1,离子,安德拉达,1003,A,8
2,Simion,Raluca,1005,A,7
3,Gheorghita,Mihail,1009,B,5
4,Mihailescu,Georgina,1002,A,6
我想做的是将通讯员 id 的 nota 值替换为键盘值给定的值,但这似乎不起作用。 错误信息是
第 14 行:打印:未找到命令
有什么建议吗?
这是 awk 中的一个:
awk 'BEGIN {
FS=OFS="," # comma field separators
printf "id: " # ask for id
if((getline id < "/dev/stdin")<=0) # store to a variable
exit 1
printf "nota: " # ...
if((getline nota < "/dev/stdin")<=0)
exit 1
}
==id { # if firsst field matches
$NF=nota # replace last field value
}
1' file # output
输出:
id: 1
nota: THIS IS NEW VALUE
id,nume,prenume,grupa,seria,nota
1,Ion,Andrada,1003,A,THIS IS NEW VALUE
2,Simion,Raluca,1005,A,7
3,Gheorghita,Mihail,1009,B,5
4,Mihailescu,Georgina,1002,A,6
Here 是关于保存更改的一些信息。