1. 批量刪除某些指定檔案
我們都知道用find,很快就可以給出:
find . -name 『your_pattern*』 -exec rm -f {} \;
恩,不過還有更快更簡潔的方法,用find自帶的delete:
find . -name 『your_pattern*』 -delete
2. 列出當前目錄下的所有目錄(不遞迴)
你能想到幾種方法?我這裡有三種解決方法:
(1) $ ls -l | egrep 『^d』
(2) $ find . -maxdepth 1 -type d
(3) $ ls -d */.
最後乙個是從別處看來的,很巧妙。歡迎提供其它不同的方法。
3. 列印檔案的倒數第n行
以倒數第2行為例,我的通常做法是:
$ tail -2 my_file | head -1
另一種方法是:
$ gawk 『begin ; end 』 my_file
[注:在一些awk(不是gawk)中,rs應該是乙個字元,而不能是正規表示式。]
4. 產生連續的數字
常見的方法是用seq:
比如產生1~10的數字,
$ seq 1 10
其實也可以用:
$ echo
倒敘時這樣:
$ seq 10 -1 1
或者:
$ echo
用seq的好處是可以指定步長,但它只能針對數字; 雖然不能指定步長,但可以適用於字母。另外,很明顯,seq的分隔符是\n,而是空格。
5. *grep
你最常用的很可能是grep,可是除此還有兩個grep:fgrep和egrep。fgrep是fixed grep的縮寫,而不是fast grep,事實上,搜尋同樣的字串時fgrep通常比grep要慢;egrep是extended grep的所寫,因為它採用了擴充套件的正規表示式和更好的演算法,所以你應該更傾向於用egrep而不是grep。
題外話:有多少人知道grep是什麼縮寫?我也是最近才知道的,它其實是global regular expression print的縮寫,ms也有人說是get regular expression and print。grep如此常用,以至於連詞典都把它收錄為乙個單詞了。
Shell開發的一些技巧和經驗
1 擷取字串 擷取字串的兩種方式 echo expr substr var sta count var 表示被擷取的字串源。sta 表示開始擷取的位置。count 擷取的字串的個數 上述兩種方式有一些小的區別,下面用乙個例子來說明 s 12345 sta 2 count 2 執行echo 結果輸出 ...
shell 的一些基本方法與技巧
這段時間在弄些shell,總結一些基本的一些方法技巧 1 變數的複製 sh temp home sh name 注意點 兩邊不要有空格,下面用的sh temp時候 使用 sh temp 即可獲取 2 if條件判斷 判斷檔案是否存在 if f sh temp zhao.sh then 如果存在zhao...
shell一些技巧和知識點
表示的是乙個命令執行完,忽略其返回值,繼續執行下一行 表示只有前面為true才繼續執行後面的命令,否則忽略,可以理解為短路執行 表示子前面為false才繼續執行後面的命令,這個比以前看到的解釋更容易理解 凡是要輸出字串的,最好用引號括起來,否則容易被shell理解為命令,這一點很容易疏忽 是一種命令...