指定文件中要修改的字段类型

指定文件中要修改的字段类型

我有一个客户列表,“代码”,“名称”,“位置”,“等”,我想创建一个功能,要求员工提供客户的代码,然后提供他/她想要更改的字段。例如“位置”,然后将其替换为他或她想要的内容。

如何指定要更改的字段类型?

客户文件示例:

ID,BUSINESSNAME,ADDRESS,TOWN
01,starbucks,rubin 3,memphis

例如,我想读取 ID,01 然后询问我要更改什么字段address,以及新地址,例如rubin 2,然后将其保存到文件中。

新修改的文​​件现在应该如下所示:

ID,BUSINESSNAME,ADDRESS,TOWN
01,starbucks,rubin 2,memphis

答案1

read使用and sed(并且没有错误检查)的基本方法:

#!/usr/bin/env bash

read -p "Enter Client ID: " client
read -p "Enter field to change: " field
read -p "Enter new data: " data

case "$field" in 
    *name) field=2 ;;
  address) field=3 ;;
     town) field=4 ;;
esac

sed -i "/^$client/ {s/[^,]*/$data/$field}" datafile

相关内容