awk -F':' 'BEGIN{IGNORECASE=1}/' '$1~/'$name'/' $file
似乎有“失控的正则表达式”错误
如何为这种情况添加ignorecase?
John:English:95:May
May:Math:99:John
Peter:Math:55:John
May:Sci:76:John
我的$ file数据
Please enter your name: may
用户输入
May:Math:99:Joh
May:Sci:76:John
预期结果
答案 0 :(得分:2)
您可以使用> l[2::-1]
[3, 2, 1]
> l[0::-1]
[1]
兼容的字符串函数POSIX
和tolower()
来topper()
中的不区分大小写的查找,而不是使用Awk
特定的{{} 1}}这不能提供灵活性来改变特定需求的情况,但仅作为一个整体。
假设您在GNU Awk
变量中从用户输入中读取了IGNORECASE
,您可以这样做,
$name
(或)如果您打算使用bash
,请执行类似
awk -F":" -v name="$name" 'tolower($1) ~ tolower(name)' file
May:Math:99:John
May:Sci:76:John
这假设您正在使用IGNORECASE
在shell命令中读取用户输入,并将值存储在shell上下文中的变量awk -F":" -v name="$name" 'BEGIN{IGNORECASE=1} $1 ~ name' file
May:Math:99:John
May:Sci:76:John
中。