本文來自: allcommands php
整理其比較實用的好的程序,並翻譯過來。less
1、在當前目錄及子目錄下搜索全部後綴爲 .php 的文件,而且將 字符串 baidu.com 替換成 opendoc.com.cn
find -name *.php |xargs perl -pi -e 's|baidu.com|opendoc.com.cn|g';
sed -i "s/baidu.com/opendoc.com.cn/g" `grep baidu.com -rl ./`ide
2、將當前目錄文件名所有轉換成小寫
for i in *; do mv "$i" "$(echo $i|tr A-Z a-z)"; donesvn
3、查找二個文件相同的內容
grep -Fx -f file1 file2
sort file1 file2 | uniq -dspa
4、查找file2裏 file1裏沒有的內容
grep -Fxv -f file1 file2翻譯
5、自動更新SVN的一個目錄
for d in $(find . -maxdepth 1 -type d -name '[^.]*'); do cd "$d"; svn up; cd ..; done排序
6、查找當前文件列表 文件與組沒有修改時間排序
find . -type f | xargs ls -ltrhg
l: 全部信息
t: 修改時間排序
r: 倒序
h: 大小 M K
g: 用戶組字符串
7、找到文件,將其與一個可讀的信息輸出列表
find . -type f | sed 's,.*,stat "&" | egrep "File|Modify" | tr "\\n" " " ; echo ,' | sh | sed 's,[^/]*/\(.*\). Modify: \(....-..-.. ..:..:..\).*,\2 \1,' | sortit
find . -type f -exec ls -tr {} +io
find . -type f | sed 's,.*,stat "&" | egrep "File|Modify" | tr "\\n" " " ; echo ,' | sh | sed 's,[^/]*/\(.*\). Modify: \(...........\).*,\2 \1,' | sort
ls -rl --time-style=+%s * | sed '/^$/,/^total [0-9]*$/d' | sort -nk6
8、查找文件和他們按修改時間排序的列表
ls -rl --time-style=+%s * | sed '/^$/,/^total [0-9]*$/d' | sort -nk6
9、查找N天前的文件,按時間排序
find . -type f -mtime -14 -exec ls -ltd \{\} \; | less
10、配置PS aliases
export PSOA='user,pid,time,state,command' ; function _ps { /bin/ps $@ ; } ; alias psa='_ps ax -o
$PSOA'
#ps aliases
PSO='user,pid,ppid,%cpu,%mem,time,start,state,command'
PSOA='user,pid,time,state,command'
PSOL='user,pid,ppid,%cpu,%mem,nice,pri,etime,time,tt,state,ucomm'
export PSO PSOA PSOL
function _ps { /bin/ps $@ ; }
alias ps='_ps ax -o $PSO'
alias psa='_ps ax -o $PSOA'
alias psl='_ps ax -o $PSOL'
alias psm='_ps -U $USER -o $PSOA'
11、逐漸打印各行 awk 'BEGIN{ORS=""}NR!=1&&FNR==1{print "\n"}{print}END{print "\n"}' *.txt