grep/egrep:基於文本內容查找
grep -E=egrep
排除隱藏去掉取消不顯示註釋行井號行和空行
egrep -v "^$|#" /usr/....../httpd.conf
注:^代表開頭,$代表結尾。^$代表空行。
查找某個目錄下10天前修改過的文件:
find[目錄] -mtime +10 m=motify
3天內修改過的文件:
find [目錄] -mtime -3
查找目錄下的所有文件中是否包含指定字符串:
find . | xargs grep -ri "IBM"
查找目錄下的所有文件中是否包含有某個字符串,並且只打印出文件名
find . | xargs grep -ril "IBM"
cut:文本/屏顯的切割命令:能接收管道,也能直接操作文本按行處理
默認以製表符作爲分隔符
-b 按字節切割(byte)
-c 按字符切割(character)
-f 按字段切割(field)
-d 指定分隔符(輸入、輸出)
N | 只有第N項 |
N- | 從第N項一直到行尾 |
N-M | 從第N項到第M項(包括M) |
-M | 從一行的開始到第M項 |
- | 從一行的開始到結束的所有項 |
cut和awk的一些區別:
——cut默認不會忽略空格和製表符(全是field字段)
——awk默認把空格、製表符全看作輸入分隔符(非field字段)
cut如何輸入製表符:先按ctrl+v,再按tab
重定向:
標準輸入0 標準輸出1 標準錯誤2
1、標準輸出 重定向
>:把標準輸出 重定向到新文件
標準錯誤不適用,會覆蓋已有文件
>>:追加符,不覆蓋原有文件
tee:類似大於號,但只從管道接收數據
tee -a:類似追加符>>
tee和tee -a都會屏顯,大於號、追加符不屏顯
總結:tee類似>(輸出重定向符)
tee -a類似>>
a意爲append——附加、增補
tee和>的區別:重定向時會屏顯;從管道接收數據
tee可以同時重定向到多個文件
命令1|tee file.txt|命令2:將命令1的結果既保存到file.txt中,也傳遞給命令2,並屏顯命令2的結果。
2、標準輸入重定向:< << tr
< 指定輸入文件
<<等待用戶輸入,需指定一個結束符,常用爲EOF或EOD
結合cat使用:cat > file <<END
tr:轉換或刪除字符
只處理字符,而非單行單列
只顯示處理結果,不修改原文件
只從管道接收數據(同tee)
替換字符並顯示
重定向中等價的幾個命令:
命令 > /dev/null 2>&1
命令 >& /dev/null
命令 &> /dev/null
sort:默認ASCII碼排列,從左到右讀取字符
-r:倒序排列
-n:按數字排列
-t:指定分隔符,如-t:指定分隔符爲冒號
-k:指定列,如-k3 -n代表第3列按數字排序
uniq:去重複行,壓縮成一行
-c count:去重複行並統計重複行的數量
wc -l:統計行數
錨定符:與正則的區別:前後不能有其它字符,正則可以
\<字符串\>
\b字符串\b
補充:正則表達式:/正則匹配/
eg:/abc/ /abcc/都符合條件,但/abbc/就不是。
----------------------------------------
head:前幾行
head -5表示前5行
tail:最後幾行
tail -5表示最後5行
tail -f表示一直刷新最後的