http://rubular.com/
vim +"argdo se nobomb| set nomore | se fenc=utf8 | w" $(find . -type f -iname '*.java')
find . -iname '*.cpp' -exec sed -i 's/\r//g' {} \;
find . -type f -iname "*.c" | xargs dos2unix
取副檔名:extension="${filename##*.}"
取檔名:filename="${filename%.*}"
while true; do echo "hello"; sleep 2; done
find . -iname '*.pdf' -print -exec pdftotext '{}' - \; | grep --color -i "unix"
rename 's/\ /_/g' *
find -type f -exec rename 's/[A-Z]/\L$&/g' {} \;
把副檔名抓成 IMG0000.jpg.jpg ,但我預期的副檔名應該是 IMG0000.jpg
rename -v 's/\.jpg.jpg$/\.jpg/' *.jpg
.. image:: /_static/seq_Mediator.jpg
替換成![](../_static/seq_Mediator.jpg)
echo ".. image:: /_static/SimpleFactory.jpg"|sed -r 's/^.*:: (.*)/![](\1)/'
![](/_static/SimpleFactory.jpg)
(.*)
// pattern /_static/SimpleFactory.jpg
\1
// 代表是第一組 pattern 即是 /_static/SimpleFactory.jpg
echo ".. image:: /_static/SimpleFactory.jpg"|sed -r 's/^.*:: (.*)/![]\1/'
![]/_static/SimpleFactory.jpg
find . -name '*.rst' -exec sed -ri.bak 's/^.*:: (.*)/![](\.\.\1)/' {} \;
sort chtuniq.txt | uniq > result.txt
上面這行指令只能留下不重覆的行,所以,還是會有一個空白行的哩 !
sort chtuniq.txt | uniq | sed /^$/d > result.txt
為什麼在用 uniq 指令前要先用 sort 指令來排序一下呢 ? 這是因為 uniq 指令只跟上一行比對是否有重複而已,所以,如果重複的資料不排在一起,那麼 uniq 指令就等於是無效哩 ! 所以,在使用 uniq 指令前,要先搖一搖,喔 ! 不! 是要先用 sort 指令排一排哩 !
nohup make 2>&1 > make.log &
find /tmp -depth -empty -type d
find /tmp -depth -empty -type d -exec rmdir -v {} \;
du -h -d 1 | grep [0-9]G
basename /usr/local/etc
etc
這個指令會將後面的[目錄]僅擷取出最後面的那個目錄或檔案
dirname /usr/local/etc
/usr/local
恰恰與 basename 相反,他僅是秀出來前面的『目錄』部分喔!
取副檔名:extension="${filename##*.}"
取檔名:filename="${filename%.*}"
## 是從變數內容的前面,移除與 ## 後面定義的 pattern (也就是 *.) 相符合的部分(越長越好),
因此檔名的部分加上 . 就會被移除,留下最後面的副檔名~
% 是從變數內容的後面,移除與 % 後面定義的 pattern (也就是 .*) 相符合的部分(越短越好),
因此 .副檔名 就會被移除掉,留下前面的檔名部分~
0 3,6 * * * /usr/bin/nohup /usr/bin/python /home/xxx/xx.py 2>&1 | tee /tmp/xx.log &
crontab -e
crontab -r
/etc/init.d/cron restart
iconv -f big5 -t utf-8 big5.txt -o utf8.txt
iconv -f utf-8 -t big5 utf8.txt -o big5.txt
sed -i '1i\<meta http-equiv="content-type" content="text/html; charset=UTF-8">' *.md
find . -name "*.jar" -exec zipgrep "toAxisAngle" '{}' \;
find . -name *.jar | xargs -i cp {} ~/jar_files/
find . -name '*.java' -exec sed -i '/System\.out\.println/d' {} \;
du -h --max-depth=1
find . -maxdepth 2 -type f -iname ".*" | xargs ag 'vim'