0
file.txt

file format  = cust:hdb

file data =   ted Ref:4rm

read -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 がケースを無視してファイルを更新できるようにするにはどうすればよいですか?

4

2 に答える 2

4

に加えて、一致する項目を で小文字にIGNORECASE変換できます。GNU awktolower()

awk -F : -v OFS=: -v cust="$cust" -v cust="$cust2" -v hdb="$hdb" 'tolower($1)==cust && tolower($2)==hdb {$1=cust2;}1'

GNU awk のドキュメントでは、大文字と小文字の区別に関するこのページが提供されています。

于 2013-01-22T04:51:56.597 に答える
0

一方通行:

IGNORECASE=1 awk -F : -v OFS=: -v cust="$cust" -v cust="$cust2" -v hdb="$hdb" '$1==cust && $2==hdb {$1=cust2;}1' file
于 2013-01-22T04:47:57.600 に答える