1:cat -s:壓縮空白行;移除空白行 cat test.txt| tr '\n' '';
正則表達式
cat -T:將製表符顯示爲^I;ide
cat -n:顯示行號
排序
2:find :遞歸
-name :根據文件名或正則表達式匹配;find . \( -name "*.txt" -o -name "*.py" \) -print進程
-path:根據路徑匹配;
md5
-maxdepath和-mindepath基於目錄深度搜索;
it
-type f(d\c\l等)文件類型;find . -type f -print
class
-perm:文件權限;find . -perm 644 -print
test
-size:文件大小(k\m\g\b\c等)find . -size +2k -print擴展
-user:文件的屬主;find . -user root -print
-prune:排除 find . \( -path ./old -prune \) -o \( -name "*.txt" -print \)
3:文件的校驗(sha1sum和md5sum格式一致)
在同一目錄中經過 md5sum file >file.md5獲得md5校驗文件;而後md5sum -c file.md5比較是否一致;根據file.md5中的內容自動比較源文件md5,不須要和源文件同名。
遞歸計算校驗和: find /etc/ -type f -print0 | xargs -0 md5sum >>dir.md5
4:sort :
-n:按數字排序
-r:按逆序排序
-M:按月份排序
-k:按第幾列排序
-z:以\0做爲終止符和xargs -0相符
-C:是否排序
5:uniq:消除重複行,文件必須先排序過
-c:統計各行出現的次數
-d:找出重複的行
-z:產生\0爲終止符和xargs -0相兼容
如:uniq -z file.txt | xargs -0 rm
6: 臨時文件名的生成:$$當前進程號。如: file-$$.txt
7: 分割文件:
dd if=/dev/zero of=/tmp/date.txt count=10M bs=10
split -b 1m date.txt -d -a 4 (file)以1M每一個文件大小分割文件,並之後綴定長爲4。(前綴爲file,默認爲)
8:根據擴展名匹配:
${var%.*}從右到左匹配,匹配結果刪除。如var=simple.jpg;則結果爲var=simple。
${var#*.}從左到右匹配,匹配結果刪除。如var=simple.jpg;則結果爲var=jpg。
${var%%.*}和${var##*.}爲貪婪匹配;使用更多。