正确的语法将其作为sed脚本运行
下面的sed在命令行上工作,并执行以下操作正确的语法将其作为sed脚本运行,sed,Sed,下面的sed在命令行上工作,并执行以下操作 sed -n '/CREATE EXTERNAL/,/^[)]/{/^[()]/d;p}' ddl.txt 打印包含CREATE EXTERNAL和(或)的行之间的所有行,但文件ddl.txt中以(或)开头的行除外 正如您可能注意到的,起始(或)行的异常作为嵌入地址处理,与之匹配的行在遇到时将被删除 我试图将其放入一个可以使用sed-f运行的文件中的所有尝试都失败了。如果有人能告诉我正确的语法,我将不胜感激 下面是一些测试数据 CREATE EXTE
sed -n '/CREATE EXTERNAL/,/^[)]/{/^[()]/d;p}' ddl.txt
打印包含CREATE EXTERNAL和(或)的行之间的所有行,但文件ddl.txt中以(或)开头的行除外
正如您可能注意到的,起始(或)行的异常作为嵌入地址处理,与之匹配的行在遇到时将被删除
我试图将其放入一个可以使用sed-f运行的文件中的所有尝试都失败了。如果有人能告诉我正确的语法,我将不胜感激
下面是一些测试数据
CREATE EXTERNAL TABLE foo.bar
(
mykey INT,
mydata VARCHAR(20),
lastfield VARCHAR(20)
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\137'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
哪个应该让步
CREATE EXTERNAL TABLE foo.bar
mykey INT,
mydata VARCHAR(20),
lastfield VARCHAR(20)
对我来说很好。你到底在档案里放了什么?你是怎么运作的?我只是把
/CREATE EXTERNAL/,/^[)]/{/^[()]/d;p}
放入一个文件,并用sed-n-f script.sed ddl.txt
调用它。是的,我忘了做dos2unix。谢谢