file.txt
file format = cust:hdb
file data = ted Ref:4rm
读取-p“Cust:”cust
用户密钥:ted ref
grep -i -q "$cust" "file"
系统能够忽略大小写并读取输入
read -p "NewCust:" cust2
用户密钥:Ted Ref
awk -F:-v OFS =: - v cust =“$ cust”-v cust =“$ cust2”-v hdb =“$ hdb” '$ 1 == cust&& $ 2 == hdb {$ 1 = cust2;} 1'文件
我如何设置这个以便awk可以忽略大小写并更新到文件?
答案 0 :(得分:4)
除了IGNORECASE
之外,您还可以将GNU awk
中匹配的项目转换为小写tolower()
。
awk -F : -v OFS=: -v cust="$cust" -v cust="$cust2" -v hdb="$hdb" 'tolower($1)==cust && tolower($2)==hdb {$1=cust2;}1'
GNU awk文档提供了this page区分大小写。
答案 1 :(得分:0)
一种方式:
IGNORECASE=1 awk -F : -v OFS=: -v cust="$cust" -v cust="$cust2" -v hdb="$hdb" '$1==cust && $2==hdb {$1=cust2;}1' file