一、合併兩個文件並按時間戳排序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賦予程序的環境變量。