sed -i '/first/i This line to be added'
在这种情况下,如何在搜索pattern = first
时忽略大小写答案 0 :(得分:27)
您可以使用以下内容:
sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file
否则,您有/I
和n /i
个标记:
sed 's/first/last/Ig' file
来自人sed:
<强> I 强>
<强> I 强>
正则表达式匹配的I修饰符是GNU扩展名 以不区分大小写的方式使sed匹配regexp。
$ cat file
first
FiRst
FIRST
fir3st
$ sed 's/[Ff][Ii][Rr][Ss][Tt]/last/g' file
last
last
last
fir3st
$ sed 's/first/last/Ig' file
last
last
last
fir3st
答案 1 :(得分:7)
sed '/first/Ii This line to be added' file
答案 2 :(得分:4)
你可以尝试
sed 's/first/somethingelse/gI'
答案 3 :(得分:3)
如果你想保存一些打字,请尝试awk。我不认为sed有这个选项
awk -v IGNORECASE="1" '/first/{your logic}' file
答案 4 :(得分:1)
对于不了解>> df.groupby('groupkey').count()
特殊变量的awk版本,您可以使用以下内容:
IGNORECASE
在测试它是否与模式匹配之前将每行转换为大写,如果匹配,则打印字符串。 awk 'toupper($0) ~ /PATTERN/ { print "string to insert" } 1' file
是最短的 true 条件,因此awk执行默认操作:1
。
要使用变量,您可以使用:
{ print }
这会传递shell变量awk -v var="$foo" 'BEGIN { pattern = toupper(foo) } toupper($0) ~ pattern { print "string to insert" } 1' file
并在处理文件之前将其转换为大写。
使用bash稍微短一点就是使用$foo
并跳过-v pattern="${foo^^}"
阻止。
答案 5 :(得分:0)
使用以下\ b表示单词边界
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'example.org',
user : 'bob',
password : 'secret',
database : 'my_db'
});
pool.query('SELECT 1 + 1 AS solution', function (error, results, fields) {
if (error) throw error;
console.log('The solution is: ', results[0].solution);
});