博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux常用命令小结(续)
阅读量:6341 次
发布时间:2019-06-22

本文共 2347 字,大约阅读时间需要 7 分钟。

 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

转载于:https://www.cnblogs.com/cstar/p/3775798.html

你可能感兴趣的文章
Immutable集合
查看>>
百度竞价排名屏蔽插件for Chrome
查看>>
MySQL数据库水平切分的实现原理解析
查看>>
python网络编程学习笔记(7):HTML和XHTML解析(HTMLParser、BeautifulSoup)
查看>>
ctf.360.cn第二届,逆向部分writeup——第二题
查看>>
Windows Server 2012 将资源发布到 AD DS
查看>>
Redhat linux C 函数 以及一些shell命令的 man rpm
查看>>
XenServer 6.0发布
查看>>
提高工作效率的方法之“20分钟理论”
查看>>
docker CE&&EE版本centos安装
查看>>
浅谈URL生成方式的演变
查看>>
Linux下ssl+http 实现 HTTPS 访问服务器设置
查看>>
磁盘与文件系统管理之五
查看>>
python学习-递归
查看>>
day:35:netfilter防火墙的管理工具firewalld及iptables备份恢复
查看>>
第六讲:用户界面 View(二)
查看>>
lsof用户及恢复日志文件
查看>>
Python之获取系统信息--(二)
查看>>
IE9,IE10不能显示@font-face定义的字体
查看>>
JSP----ISPI
查看>>