当前位置: 技术问答>linux和unix
怎么写shell脚本???
来源: 互联网 发布时间:2016-10-13
本文导语: 读取temp.sql文件 查找 Database -icomic 修改为 Database -icomic_1 查找所有表名 修改表名 为 table_name_1 ,例如 表ad为ad_1 如果表名为ad,则改为ad_1,如果表名有后缀为_1 则改为_2,_2改为_3 以此类推,保存文件,执行该temp...
读取temp.sql文件
查找 Database -icomic 修改为 Database -icomic_1
查找所有表名 修改表名 为 table_name_1 ,例如 表ad为ad_1
如果表名为ad,则改为ad_1,如果表名有后缀为_1 则改为_2,_2改为_3 以此类推,保存文件,执行该temp.sql脚本
temp.sql文件
/*
SQLyog Enterprise - MySQL GUI v6.5 Beta1
MySQL - 5.0.27-community-nt : Database - icomic
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
create database if not exists `icomic`;
USE `icomic`;
/*Table structure for table `ad` */
DROP TABLE IF EXISTS `ad`;
CREATE TABLE `ad` (
`ad_id` int(11) NOT NULL auto_increment COMMENT '广告编号',
`ad_left_url` varchar(255) default NULL COMMENT '广告链接地址',
`ad_left_img_url` varchar(255) default NULL COMMENT '广告图片存放地址',
`ad_central_url` varchar(255) default NULL COMMENT '广告位置1-首页中间2-首页左边',
`ad_central_img_url` varchar(255) default NULL,
PRIMARY KEY (`ad_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='广告表';
/*Table structure for table `admin` */
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
`a_id` int(11) NOT NULL auto_increment COMMENT '管理员编号',
`ar_id` int(11) NOT NULL COMMENT '管理员角色',
`a_username` varchar(255) default NULL COMMENT '登录名',
`a_password` varchar(255) default NULL COMMENT '密码',
`a_name` varchar(255) default NULL COMMENT '真实姓名',
`a_email` varchar(255) default NULL COMMENT 'email',
`a_date` datetime default NULL COMMENT '创建日期',
`a_status` int(11) default NULL COMMENT '状态0--无效 1--有效',
`a_login_number` int(11) default NULL COMMENT '登录次数',
`a_last_login_date` datetime default NULL COMMENT '最后一次登录时间',
PRIMARY KEY (`a_id`),
KEY `ar_id` (`ar_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员表';
/*Table structure for table `admin_log` */
DROP TABLE IF EXISTS `admin_log`;
CREATE TABLE `admin_log` (
`al_id` int(11) NOT NULL auto_increment COMMENT '日志编号',
`a_id` int(11) NOT NULL COMMENT '管理员编号',
`al_title` varchar(255) default NULL COMMENT '标题',
`al_url` varchar(255) default NULL COMMENT '链接地址',
`al_sort` int(11) default NULL COMMENT '类别1-管理员信息2-角色3-管理员日志4-会员5会员充值6-漫画7漫画题材8-动画9-动画题材10-新闻11-友情链接12-系统邮件13-系统积分14-短信管理15-短信发送16-页脚狎昵17-广告18-首页热门搜索',
`al_type` int(11) default NULL COMMENT '类型1-审核2-修改状态3-添加4-编辑5-删除6-推荐7-分配权限',
`al_date` datetime default NULL COMMENT '日志时间',
PRIMARY KEY (`al_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员日志表';
/*Data for the table `admin_log` */
查找 Database -icomic 修改为 Database -icomic_1
查找所有表名 修改表名 为 table_name_1 ,例如 表ad为ad_1
如果表名为ad,则改为ad_1,如果表名有后缀为_1 则改为_2,_2改为_3 以此类推,保存文件,执行该temp.sql脚本
temp.sql文件
/*
SQLyog Enterprise - MySQL GUI v6.5 Beta1
MySQL - 5.0.27-community-nt : Database - icomic
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
create database if not exists `icomic`;
USE `icomic`;
/*Table structure for table `ad` */
DROP TABLE IF EXISTS `ad`;
CREATE TABLE `ad` (
`ad_id` int(11) NOT NULL auto_increment COMMENT '广告编号',
`ad_left_url` varchar(255) default NULL COMMENT '广告链接地址',
`ad_left_img_url` varchar(255) default NULL COMMENT '广告图片存放地址',
`ad_central_url` varchar(255) default NULL COMMENT '广告位置1-首页中间2-首页左边',
`ad_central_img_url` varchar(255) default NULL,
PRIMARY KEY (`ad_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='广告表';
/*Table structure for table `admin` */
DROP TABLE IF EXISTS `admin`;
CREATE TABLE `admin` (
`a_id` int(11) NOT NULL auto_increment COMMENT '管理员编号',
`ar_id` int(11) NOT NULL COMMENT '管理员角色',
`a_username` varchar(255) default NULL COMMENT '登录名',
`a_password` varchar(255) default NULL COMMENT '密码',
`a_name` varchar(255) default NULL COMMENT '真实姓名',
`a_email` varchar(255) default NULL COMMENT 'email',
`a_date` datetime default NULL COMMENT '创建日期',
`a_status` int(11) default NULL COMMENT '状态0--无效 1--有效',
`a_login_number` int(11) default NULL COMMENT '登录次数',
`a_last_login_date` datetime default NULL COMMENT '最后一次登录时间',
PRIMARY KEY (`a_id`),
KEY `ar_id` (`ar_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员表';
/*Table structure for table `admin_log` */
DROP TABLE IF EXISTS `admin_log`;
CREATE TABLE `admin_log` (
`al_id` int(11) NOT NULL auto_increment COMMENT '日志编号',
`a_id` int(11) NOT NULL COMMENT '管理员编号',
`al_title` varchar(255) default NULL COMMENT '标题',
`al_url` varchar(255) default NULL COMMENT '链接地址',
`al_sort` int(11) default NULL COMMENT '类别1-管理员信息2-角色3-管理员日志4-会员5会员充值6-漫画7漫画题材8-动画9-动画题材10-新闻11-友情链接12-系统邮件13-系统积分14-短信管理15-短信发送16-页脚狎昵17-广告18-首页热门搜索',
`al_type` int(11) default NULL COMMENT '类型1-审核2-修改状态3-添加4-编辑5-删除6-推荐7-分配权限',
`al_date` datetime default NULL COMMENT '日志时间',
PRIMARY KEY (`al_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='管理员日志表';
/*Data for the table `admin_log` */
|
1> sed 's/Database -icomic/Database -icomic_1/' temp.sql
2> 用一个循环得到 文件中的表名:
for i in `grep "CREATE TABLE *"` temp.sql | awk '{print $3}'
do
echo $i
done
将其查到后再用 sed 's/old_ta_name/new_ta_name/' temp.sql 进行替换!
2> 用一个循环得到 文件中的表名:
for i in `grep "CREATE TABLE *"` temp.sql | awk '{print $3}'
do
echo $i
done
将其查到后再用 sed 's/old_ta_name/new_ta_name/' temp.sql 进行替换!
|
lz这种问题很难有人帮你写出来的 建议你去学习一下shell
|
|
主席还没来