Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 将某个关键字后的单词转换为小写_Regex_Bash_Shell_Unix_Sed - Fatal编程技术网

Regex 将某个关键字后的单词转换为小写

Regex 将某个关键字后的单词转换为小写,regex,bash,shell,unix,sed,Regex,Bash,Shell,Unix,Sed,我正在尝试使用shell脚本将之后的所有单词转换为: SELECT first_name AS First_Name, last_name AS Last_Name, AGE('1990-10-12') AS Person_Age FROM table1 我需要的输出是 SELECT first_name AS first_name, last_name AS last_name, AGE('1990-10-12') AS person_age FROM table1 如果您使用了GNU s

我正在尝试使用shell脚本将
之后的所有单词转换为

SELECT
first_name AS First_Name,
last_name AS Last_Name,
AGE('1990-10-12') AS Person_Age
FROM table1
我需要的输出是

SELECT
first_name AS first_name,
last_name AS last_name,
AGE('1990-10-12') AS person_age
FROM table1

如果您使用了GNU sed,则可以使用对的扩展,将其后面的所有内容转换为小写:

$ sed -E 's/(AS)(.*)/\1\L\2/' infile
SELECT
first_name AS first_name,
last_name AS last_name,
AGE('1990-10-12') AS person_age
FROM table1

如果您使用了GNU sed,则可以使用对的扩展,将其后面的所有内容转换为小写:

$ sed -E 's/(AS)(.*)/\1\L\2/' infile
SELECT
first_name AS first_name,
last_name AS last_name,
AGE('1990-10-12') AS person_age
FROM table1
使用
awk

awk '/AS/ {for (i=1; i<=NF; i++) if ($i == "AS") $(i+1) = tolower($(i+1))} {print}' < infile.sql
awk'/AS/{for(i=1;i使用
awk

awk '/AS/ {for (i=1; i<=NF; i++) if ($i == "AS") $(i+1) = tolower($(i+1))} {print}' < infile.sql
awk'/AS/{for(i=1;i使用Perl

$ cat aswin.sql
SELECT
first_name AS First_Name,
last_name AS Last_Name,
AGE('1990-10-12') AS Person_Age
FROM table1

$ perl -ne ' { s/\bas\b\s+\b(.+?)\b/AS \L\1\E/gi; print } ' aswin.sql
SELECT
first_name AS first_name,
last_name AS last_name,
AGE('1990-10-12') AS person_age
FROM table1
使用Perl

$ cat aswin.sql
SELECT
first_name AS First_Name,
last_name AS Last_Name,
AGE('1990-10-12') AS Person_Age
FROM table1

$ perl -ne ' { s/\bas\b\s+\b(.+?)\b/AS \L\1\E/gi; print } ' aswin.sql
SELECT
first_name AS first_name,
last_name AS last_name,
AGE('1990-10-12') AS person_age
FROM table1