Linux常用命令小结(续)
20. mysql
mysql --host=127.0.0.1 --port=3306 --database=test --user=test --password=test --default-character-set=utf8
mysql -h127.0.0.1 -P3306 -uxxx -pxxx --database testdb
1)导出數據库為dbname的表结构(其中用戶名為root,密码為dbpasswd,生成的脚本名為db.sql)
mysqldump -uroot -pdbpasswd -d dbname >db.sql;
2)导出數據库為dbname某张表(test)结构
mysqldump -uroot -pdbpasswd -d dbname test>db.sql;
3)导出數據库為dbname所有表结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname >db.sql;
4)导出數據库為dbname某张表(test)结构及表數據(不加-d)
mysqldump -uroot -pdbpasswd dbname test>db.sql;
5)导入数据库中,登录MySQL,执行source命令,后面的文件名要用绝对路径.
mysql> source /tmp/db.all.sql;
21. 脚本求两个文件的相同集合
test1 test2
1 2
2 3
3 4
cat test1 test2 | sort | uniq -d (result: 2 3)
cat test1 test2 | sort | uniq -c | wc -l (result:4) 统计所有出现数字的个数
cat test1 test2 | sort | uniq -c |awk -F ' ' '{print $1}'|grep 2|wc -l 连续出现两次的个数
22. 生成1到10的数字
for i in `seq 10`
do
echo $i
done
23. 通过脚本生成sql语句
date=`date -d yesterday +%Y-%m-%d`
outputFileName="sql.${date}"
cat test1 | awk 'BEGIN{datecmd="date -d yesterday +%Y-%m-%d";datecmd|getline dateStr}{print "INSERT INTO test (dayString, num1, num2, num3) VALUES ('\''"dateStr"'\'', 0, "$1", "$1") ON DUPLICATE KEY UPDATE num2 = "$1", num3 = "$1";"}' > ${outputFileName}
生成的结果:INSERT INTO test (dayString, num1, num2, num3) VALUES ('2014-06-07', 0, 1, 1) ON DUPLICATE KEY UPDATE num2 = 1, num3 = 1;
INSERT INTO test (dayString, num1, num2, num3) VALUES ('2014-06-07', 0, 2, 2) ON DUPLICATE KEY UPDATE num2 = 2, num3 = 2;
INSERT INTO test (dayString, num1, num2, num3) VALUES ('2014-06-07', 0, 3, 3) ON DUPLICATE KEY UPDATE num2 = 3, num3 = 3;
插入数据库的话可以用脚本:mysql -h127.0.0.1 -P3306 -utest -ptest --database testdb < ${outputFileName}
24. awk
1)统计次数
test3
a=优秀
b=良好
b=优秀
c=良好
cat test3 | awk -F "=" '{sum[$1]+=1}END{for(i in sum)print sum[i],i}'
cat test3 | awk -F "=" '{sum[$2]+=1}END{for(i in sum)print sum[i],i}'
result1: result2: result3:
2 优秀 1 a a=优秀
2 良好 2 b b=良好
1 c c=及格
2) 提取20:1:0:0:{a=优秀, b=良好, c=及格} 里面的{}数据
cat test4 | awk 'BEGIN {FS=":"} {print $5}' | sed -e "s/[\{\}]//g" | awk '{split($0, items, ", ");for(it in items){print items[it]}}'
25. sed
sed是一个强大的文本工具,这里举一个替换配置文件的例子
from=1001
for i in {1002..1006} ; do
cat test-${from}.xml | sed -e "s/${from}/${i}/g" > test-${i}.xml
done;
26. 文件格式转换
iconv -f from-encoding -t to-encoding inputfile -o outputfile
Linux常用命令小结(续)的更多相关文章
- Linux 常用命令小结
学习脚本几天了,总结下linux debian下脚本常用命令. Linux 1.添加删除账户 useradd / userdel 2.修改"张三"密码 passwd 张 ...
- linux常用命令小结
其他类 clear 清屏 文件管理 chmod 修改文件权限. 常用列表: chmod +x 使文件变为可执行文件. 常用于sh脚本. touch 创建文件 tar 压缩文件操作. -zxvf, 解压 ...
- Linux 常用工具小结:(5) lftp工具使用
Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...
- 教老婆学Linux运维(二)Linux常用命令指南【上】
目录 教老婆学Linux(二)Linux常用命令指南[上] 一.概述 二.常用命令 教老婆学Linux(二)Linux常用命令指南[上] 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三 ...
- 教老婆学Linux运维(二)Linux常用命令指南【下】
目录 tips:紧接上一篇,Linux常用命令指南[上] 2.4 文件解压缩 2.4.1 官宣的linux压缩工具:tar tar的基本命令格式为 tar [参数选项] [文件或目录] 我们前面学的命 ...
- 一文学完Linux常用命令
一.Linux 终端命令格式 1.终端命令格式 完整版参考链接:Linux常用命令完整版 command [-options] [parameter] 说明: command : 命令名,相应功能的英 ...
- Linux常用命令(一)
Linux常用命令 1. pwd查看当前路径(Print Working Directory) [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...
- linux常用命令的介绍
本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...
- linux——常用命令与脚本
linux常用命令 --文件管理pwd --查看当前目录cd --切换当前目录ls --列出当前目录下的所有文件touch --创建文件mkdir --建立目录rmdir --删除空目录rm --删除 ...
随机推荐
- ecmall源码中的 function _config_view()-关于重写
ecmall中类库的继承过程: defaultAPP->MallbaseApp->FrontendApp->EcBaseApp->BaseApp->Object 在bas ...
- C# 方法的回调(上)
在C#编程中方法的回调有以下几种方式 通过接口.通过委托.定时回调.多线程回调,异步回调 下面就以代码的形式来讲解这种方式 通过接口回调 代码示例如下 定义接口,定义了一个Run 方法: interf ...
- JetBrains注册码计算(IntelliJ IDEA 15.0注册码激活)
安装前修改时间为2099年等很多年后的时间点,安装后选择免费试用30天,然后退出idea,把时间修改回来,这样就可以成功注册了 如果之前使用过授权服务器等激活方式,不弹出试用界面,请到C:\Users ...
- HTTP缓存&代理
一.与缓存有关的Header 1.Request If-Modified-Since: 缓存文件的最后修改时间 If-None-Match: ...
- 在Update表数据同时将数据备份
分享一条有意思的SQL语句,也是前两天有个朋友在面试的时候碰到的,他当时没有做出来,回来之后问我, 如何在同一条语句中实现,更新表的时候同时备份更新前的记录数据. --在修改数据前,先要把修改前的数据 ...
- 好用的Markdown编辑器一览
Markdown 是一种简单的.轻量级的标记语法.用户可以使用诸如 * # 等简单的标记符号以最小的输入代价生成极富表现力的文档. Markdown具有很多优点: 写作中添加简单符号即完成排版,所见即 ...
- 定时器中实现数据库表数据移动的功能,Exception in thread "Timer-0" isExist java.lang.NullPointerException定时器中线程报错。
package com.shawnway.trade.marketdata.constants; import java.sql.SQLException; import java.util.Cale ...
- 使用HTML5技术控制电脑或手机上的摄像头
移动设备和桌面电脑上的客户端API起初并不是同步的.最初总是移动设备上先拥有某些功能和相应的API,但慢慢的,这些API会出现在桌面电脑上.其中一个应用接口技术就是getUserMedia API,它 ...
- ebs R12.2启动报错"failed to start a managed process after the maximum retry limit"
启动日志: Error --> Process (index=1,uid=1739599208,pid=4479) failed to start a managed process after ...
- ios-深度解析二维码的生成与使用
利用一个小demo来对二维码进行学习,总共四个界面(主界面,生成二维码界面,识别二维码界面,扫描二维码界面) 一.二维码的介绍 1.什么是二维码? 二维条码/二维码是用某种特定的 ...