一、合并两个文件并按时间戳排序php
cat file1 file2 >file_merglinux
sort k2 file_merg>file_sortgit
http://man.linuxde.net/sortshell
二、使用grep命令截取指定时间点的logexpress
cat filename|grep -E'regular expression'bash
三、截取每行指定列做为参数的实例(没时间优化,有elegant solution的能够交流)函数
#!/bin/bash git status|grep deleted|awk '{print $3}'>../git_del filename=../git_del for line in $(cat ${filename}) do git rm -rf $line echo $line done
四、将文本中指定的字符串替换(主要目的就是合patch的时候修改每一个项目的版本号)优化
其实很简单就是使用Linux sed命令ui
使用-i参数会直接编辑文件,不然直接输出屏幕.net
sed -i 's/P20/P30/' filename
example:
local M=`echo $M|sed 's:'$T'/::'`
使用sed删除$M的$T
五、shell中local和export的用法(转自他人博客)
http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29631743&id=4408417
local通常用于局部变量声明,多在在函数内部使用。 1. Shell脚本中定义的变量是global的,其做用域从被定义的地方开始,到shell结束或被显示删除的地方为止。 2. Shell函数定义的变量默认是global的,其做用域从“函数被调用时执行变量定义的地方”开始,到shell结束或被显示删除处为止。函数定义的变量能够被显示定义成local的,其做用域局限于函数内。但请注意,函数的参数是local的。 3. 若是同名,Shell函数定义的local变量会屏蔽脚本定义的global变量。 ----------------------------------------------------------------------------------------------- export:将自定义变量设定为系统环境变量(仅限于该次登录操做,当前shell中有效) 语 法:export [-fnp][变量名称]=[变量设置值] 补充说明:在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。 参 数: -f 表明[变量名称]中为函数名称。 -n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。 -p 列出全部的shell赋予程序的环境变量。