存档

2013年10月 的存档

awk 使用shell参数变量

2013年10月31日 1 条评论

awk是一行一行处理文本,当需要判断当前处理行是否满足特定条件时,需要从shell中输入参数,然后放到awk的脚本命令中配合处理。 比如awk读取shell的位置参数$1 ,如果直接放在awk命令中会与每行的第一个字段$1冲突,需要特殊处理。 例如有文件 iet.txt如下格式,需求是提取第一个字段或第二个字段为AA的行 AA BB CC DD EE  FF CC DD EE FF GG DD ... 脚本如下,保存为tiqu.sh #!/bin/bash sed '/^$/d' iet.txt|awk '{if(NF>3&&($1=="'$1'"||$2=="'$1'")){print $1","$2","$6 }}' 执行方法: bash tiqu.sh AA 输出结果: AA BB...

分类: linux 标签: , , ,

linux当前网络连接状态

2013年10月29日 2 条评论

查看当前网络连接状态命令 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 解释: NF 当前处理行字段总个数 $NF (与$1对应)最后一个字段的值 awk特殊字段介绍 NR 当前处理总行数。因为awk是流处理工具,一行一行处理的,所以NR在不停的自增1,表示awk开始执行程序后所读取的数据行数 FNR 当前处理行是当前文件第几行,其变量值小于等于NR(比如当读取第二个文件时,FNR是从0开始重新计数,而NR不会)。 NR==FNR:用于在读取两个或两个以上的文件时,判断是不是在读取第一个文件。 awk处理多个文件的基本语法是...

分类: linux 标签: ,

shell下以美元符$开头的环境变量

2013年10月15日 没有评论

shell脚本中常见的以美元符开头的环境变量,有的时候英文描述好像比中文更贴切一些。 大家直接看英文吧。 $n $1 the first parameter,$2 the second... $# the number of command-line parameters. $0 the name of current program. $? last command or function's return value. $$ the program's PID. $! last program's PID. $@ save all the parameters. 看完说明举个实际例子才能更好的理解 #!/bin/bash echo "the number of command-line parameters: ...

分类: linux 标签: ,

sublime text 2

2013年10月14日 2 条评论

win下用过不少轻量级文本编辑器,都各有千秋,也各有缺点,很难取舍。 editplus 很久以前使用的工具,没什么印象了。 ultraedit 功能强大,可是有些版本win下菜单模糊,字体不好看,最不能忍的是它是收费的。 notepad++ 支持高亮选中,列模式只要长按alt键,现在s使用的工具。 最近遇到一个sulime text 2,使用了一下发现很舒服,有几个功能特别实用。 1.字体漂亮,支持几乎所有格式的代码高亮。 2.支持vim模式编辑,linux下用户都喜欢hujk,不喜欢光标。 3.高亮选中,方便查看哪里实用同一变量。 4.预览模式, 可以快速拖动预览。 5....

分类: 技术 标签:

phpMyAdmin安装配置教程

2013年10月12日 1 条评论

phpMyAdmin安装前提条件: * PHP 5.2 or later(包含mysqli、mbstring、mcrypt扩展) * MySQL 5.0 or later *可用的浏览器 下载安装包,解压即可使用 wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.7/phpMyAdmin-4.0.7-all-languages.tar.gz tar -zxvf phpMyAdmin-4.0.7-all-languages.tar.gz mv phpMyAdmin-4.0.7-all-languages phpMyAdmin 123 wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/4.0.7/php...

分类: 技术 标签: ,

使用expect实现shell自动交互

2013年10月9日 没有评论

shell脚本需要交互的地方可以使用here文档是实现,但是有些命令却需要用户手动去就交互如passwd、scp 对自动部署免去用户交互很痛苦,expect能很好的解决这类问题。 expect的核心是spawn expect send set spawn 调用要执行的命令 expect 等待命令提示信息的出现,也就是捕捉用户输入的提示: send 发送需要交互的值,替代了用户手动输入内容 set 设置变量值 interact 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。 expect eof 这个一定要加,与sp...

分类: linux 标签: ,