Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何基于unix文件中的另一个字段更改特定字段_Linux_Unix - Fatal编程技术网

Linux 如何基于unix文件中的另一个字段更改特定字段

Linux 如何基于unix文件中的另一个字段更改特定字段,linux,unix,Linux,Unix,如何根据unix文件中同一记录中的项id将字段值更改为其他值 例如:计费费率PI;派克靴;4.287301483014;287301483014;5623945596;DBT;短讯服务;短信CET;坎特伯雷大学;912990299;862733471;203401725; 假设我想根据同一记录中的项目id 203401725将字段8中的值(即SMS)更改为SMSI。我有8000条记录,其中有4000个条目id为203401725,其余的则不同,我只想根据匹配的条目id 203401725更新这些

如何根据unix文件中同一记录中的项id将字段值更改为其他值

例如:计费费率PI;派克靴;4.287301483014;287301483014;5623945596;DBT;短讯服务;短信CET;坎特伯雷大学;912990299;862733471;203401725;


假设我想根据同一记录中的项目id 203401725将字段8中的值(即SMS)更改为SMSI。我有8000条记录,其中有4000个条目id为203401725,其余的则不同,我只想根据匹配的条目id 203401725更新这些4000条记录,这不是顺序的。如何在unix中对文件执行此操作?

可能最简单的方法是使用:

awk -F\; 'BEGIN {OFS=FS} $13==203401725 {$8="SMSI"} {print}' Billing\ charge\ rate >$$ &&
mv $$ Billing\ charge\ rate