我有一个 Teradata bteq 脚本,通过从 linux 服务器运行 show table 来导出表定义。我的问题是脚本将 ddl 输出到一个文件中,每行都有新行(^M),脚本开头有随机字符。我可以使用 linux 命令对文件进行后期处理以删除 ^M。但是由于文件开头的字符是随机的,因此很难编写代码来删除它们。
下面的脚本:
#!/bin/sh
#########################################
DATADIR=[directoryname]
bteq <<EOI
.logmech LDAP
.LOGON server/user/pass;
.EXPORT DATA FILE=$DATADIR/script.sql
SHOW TABLE mydatabasename.mytablename;
.EXPORT RESET;
.IF ERRORCODE <> 0 THEN .EXIT ERRORCODE;
.LOGOFF
.EXIT
EOI
#########################################
导出的第一行如下所示:
a^E_^ECREATE MULTISET TABLE mydatabasename.mytablename ,FALLBACK ,^M
我可以在脚本中做些什么来避免获取特殊字符吗?