熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
時間:2015-07-01 15:46:54 作者:zhijie 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20150701/51942.html 手機查看 評論 反饋
單行程序
這是將命令連成一行的一些樣例:
有時候通過 sort/uniq 對文本文件做交集、并集和差集運算時,這個例子會相當有幫助。假定 a和 b 是已經(jīng)進行了唯一性處理的文本文件。這會很快,而且可以處理任意大小的文件,總計可達數(shù)千兆字節(jié)。(Sort不受內(nèi)存限制,不過如果 /tmp 放在一個很小的根分區(qū)的話,你可能需要使用 -T 選項。)也可參見上面關(guān)于LC_ALL的注解和 -u 選項(參見下面例子更清晰)。
sh cat a b | sort | uniq 》 c # c 是 a 和 b 的并集
cat a b | sort | uniq -d 》 c # c 是 a 和 b 的交集
cat a b b | sort | uniq -u 》 c # c 是 a 減去 b 的差集
使用 grep 。 * 來可視化查看一個目錄中的所有文件的所有內(nèi)容,例如,對于放滿配置文件的目錄: /sys, /proc, /etc。
對某個文本文件的第三列中所有數(shù)據(jù)進行求和(該例子可能比同等功能的Python要快3倍,而且代碼也少于其3倍):
awk ’{ x += $3 } END { print x }‘ myfile
如果想要查看某個文件樹的大小/日期,該例子就像一個遞歸ls -l,但是比ls -lR要更容易讀懂:
find 。-type f -ls
只要可以,請使用 xargs 或 parallel。注意,你可以控制每行(-L)執(zhí)行多少個項目,以及并行執(zhí)行(-P)。如果你不確定它是否會做正確的事情,可以首先使用 xargs echo。同時,使用 -I{} 也很方便。樣例:
find 。-name ’*.py‘| xargs grep some_function
cat hosts | xargs -I{} ssh root@{} hostname
比如說,你有一個文本文件,如 Web 服務器的日志,在某些行中出現(xiàn)了某個特定的值,如 URL 中出現(xiàn)的 acct_id 參數(shù)。如果你想要統(tǒng)計有多少個 acct_id 的請求:
cat access.log | egrep -o ’acct_id=[0-9]+‘| cut -d=-f2 | sort | uniq -c | sort-rn
運行該函數(shù)來獲得來自本文的隨機提示(解析Markdown并從中提取某個項目):
function taocl(){
curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README.md |
pandoc -f markdown -t html |
xmlstarlet fo --html --dropdtd |
xmlstarlet sel -t -v ”(html/body/ul/li[count(p)》0])[$RANDOM mod last()+1]“|
xmlstarlet unesc | fmt -80
}
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場