find grep wc使用方法簡單總結

2021-04-07 13:23:44 字數 3339 閱讀 5500

一、find

用來查詢特定檔案,在linux下一切皆是檔案,因此十分有用。

基本格式:find  path  expression  [-exec  command  {} \;] 

會預設遍歷到子目錄。

1、find  /home/work/   -name  "*.cpp"    

查詢/home/work/目錄下,所有檔名以.cpp結尾的檔案,當然目錄也會匹配出來。

2、find  /home/work/   -name  -type  f   "*.cpp"

查詢/home/work/目錄下,所有檔名以.cpp結尾的普通檔案。

3、find  /home/work/   -iname  "*.cpp"  

-iname 表示忽略大小寫,-name表示不忽略大小寫,精確匹配。

4、find  /home/work/   /etc/  /usr  -name  "*.cpp"

查詢多個目錄下的.cpp檔案

擴充套件 : find  /home/work/   /etc/  /usr  -name  "[ab].cpp"     查詢a.cpp或者b.cpp檔案

find  /home/work/   /etc/  /usr  -name  "?.cpp"           "?"表示任意乙個字元

5、 find  /home/work/  -size +20m

查詢大於20m的檔案,-20m表示小於20m

6、find  /home/work  -atime  -5

查詢5天內訪問過的檔案, +5 表示5天內沒有訪問過的檔案。

擴充套件:用stat命令可以獲得相關的時間戳。atime表示最近一次訪問的時間,mtime表示最近一次內容修改的時間,ctime表示最近一次屬性修改的時間,單位是天。amin,          mmin,cmin單位是分鐘。

7、find  /home/work  -atime  -5  -a  -size -1m

查詢5天訪問過的並且大小小於1m的檔案。

-a    與連線 ,   -o  或連線, -not  條件取反  

二、grep

用來匹配特定的文字行,全稱是global regular expression print。

基本格式:  grep  [options]   pattern    [file...]

1、grep  "hello"  ./*遍歷當前目錄下的所有檔案,把含有"hello"的文字行的列印出來。

grep   -r  "hello"  ./*  會遍歷子目錄。

2、其他引數控制

-i    匹配時,忽略大小寫

-n   顯示行號

-c   只顯示匹配到的文字行總數

-l   只顯示匹配到文字行的檔名

-v  顯示沒有匹配到的文字行,相當於取反操作。

三、wc

文字統計工具,全城word count。使用方法很簡單。能將檔案的行數、字數、位元組數列印出來。

1、wc  -l   test.txt

統計test.txt中文字的行數。

2、wc  -c  test.txt

統計位元組數    

3、wc  -w  test.txt

統計字數,我所理解的字就是乙個單詞,單詞都是又空格、tab鍵、換行符來分割的。

4、wc  -m  test.txt

統計字元數。這和位元組數是有區別的,因為乙個中文字元會佔3個位元組。

四、例項操作

1、統計/home/work/目錄下所有以.txt結尾的檔案個數(不包括目錄)

find  /home/work/   -type f   -name  "*.txt"  | wc -l

2、刪除/home/work/目錄下所有以.txt結尾的檔案

find  /home/work/   -type f   -name  "*.txt"  -exec  rm  -f  {} \;

-exec 後面跟著執行動作,就是乙個操作命令,即每查詢到乙個檔案就執行rm -f 動作,{}就代表查詢到的檔案,\; 表示命令的結束。

注意,{}和\之間有空格。

也可以這樣做:

find  /home/work/   -type f   -name  "*.txt"  |  xargs  rm  -f 

3、查詢目錄、檔案

find /home -type d -name 'quejinlong*'  //從/home開始查詢目錄名包含quejinlong的目錄

find /home -type f -name 'quejinlong*'  //從/home開始查詢檔名包含quejinlong的檔案

4、改變當前目錄下所有檔案的所有權

find . -exec chown owner.[group] {} /; (solaris平台)

find . -exec chown -r owner.[group] {} /; (linux平台)

5、查詢當前目錄下,包含有3306字串的檔案

find . -type f -name "*.xml" |xargs grep "3306"

6、查詢當前目錄一天之前到此時之間修改的檔案,也就是過去的24小時內修改的檔案find   -mtime 0

理想0750

清除命令:find . -type f -name "*.html" -print  |xargsxargs perl -pi -e 's///g'

清除命令:find . -type f -name "*.html" -print  |xargs perl -pi -e 's/window.open.*\)//g'

8、查詢最近24小時內有修改的php檔案並顯示出來

find /usr/local/apache/htdocs/ -type f -name "*.php" -mtime 0 -exec ls -l  {} \;

find /usr/local/apache/htdocs/ -type f -name "*.php" -mtime 0 -exec cp {} /opt/muma/ \;

find /usr/local/apache/htdocs/ -type f -name "*.php" -mtime 0 -exec cp {} /opt/muma/ \;

9、批量刪除所有子目錄,保留當前目錄下的檔案

find .  -maxdepth 1 -type d -exec ls -t {} \;

find .  -maxdepth 1 -type d -exec cp -r {} /opt/temp/ \;

更多:

pythonpip使用方法 pip使用方法整理

匯出專案已安裝的pip包 pip list 檢視專案中安裝的包 pip freeze requirements.txt 將專案中所用到的第三方庫輸出到requirements.txt中 pip install 版本號 pip install i 本次使用清華源進行安裝 離線安裝第三方庫 一鍵安裝整個...

使用方法 離型劑使用方法

1 使用離型劑前必須確保模具乾淨,無粉塵 蠟垢 樹脂垢 油汙等殘留物質。可以使用專用的模具潔模劑進行清洗,不可用其他液體清洗,以免清洗不乾淨或損壞模具。另外,如果您的模具是新的,在清洗乾淨後,務必要對模具進行初步處理,用離型劑在模具表面噴 刷塗5 6次,之後方可正常投入生產。2 使用離型劑時,首先要...

使用方法 卡丁車輪胎使用方法

輪胎的使用方法很重要 卡丁車輪胎是卡丁車場日常執行中的主要易損件,但是輪胎的使用方法很重要。哪些情況下會縮短輪胎的使用壽命呢?一 跑道地面粗糙 有的跑道在鋪瀝青時,或者選錯了瀝青中石子的規格,或者碾壓得不夠平整,導致路面粗糙。有的跑道使用現成的水泥地,但表面粗糙或不平整。有的室內跑道,為了提高輪胎的...