Linux常用命令小结(续)

系统 2119 0

 20. mysql

mysql --host=127.0.0.1 --port=3306 --database=test --user=test --password=test --default-character-set=utf8

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;

Linux常用命令小结(续)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论