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表示一直重新整理最後的