vkr*_*ams 1 sql unix linux awk sed
我有 DDL 文件并使用 grep 命令我可以使用该命令提取以下行 cat employee.sql | grep -i 'TABLE'
数据线
CREATE TABLE TEMP_EMPLOYEE(
       ID VARCHAR(255),
       NAME VARCHAR(150),
       ADDRESS VARCHAR(150),
       STREET VARCHAR(150),
       SUBURB VARCHAR(100),
       STATE VARCHAR(100)
        );
CREATE TABLE TEMP_EMPLOYEE(
我想从上面的字符串中进一步提取 TABLE 名称。有人可以帮助如何。我用过sed但打印了相同的字符串。
我建议使用 GNU grep:
grep -Po 'CREATE TABLE \K[^(]*' employee.sql
或 GNU sed:
sed -n 's/CREATE TABLE \(.*\)(/\1/p' employee.sql
或 awk:
awk -F '[( ]' '/CREATE TABLE/ {print $3}' employee.sql
输出:
TEMP_EMPLOYEE
| 归档时间: | 
 | 
| 查看次数: | 168 次 | 
| 最近记录: |