Linux按文件内容查找文件
2019獨角獸企業重金招聘Python工程師標準>>>
find /home/monitorapp/pps_monitor_dbservice_tosave -name "*.*" | xargs grep "10.121.37.112"
查找?/home/monitorapp/pps_monitor_dbservice_tosave下所有包含10.121.37.112字符串的文件
遇到這樣一個面試題:在Linux下從abc目錄開始查找所有擴展名為.log的文本文件,并找出內容包含ERROR的文件。
查找命令:find /abc -name "*.log" |?xargs?grep "ERROR"
一般工作中常用按名稱查找、按時間或類型查找。find命令還可以結合xargs命令來查找。xargs可以從輸入中構建和執行shell命令。
xargs與find的-exec參數不同的是:
1、傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之后,就會出現溢出錯誤。錯誤信息通常是“參數列太長”或“參數列溢出”。而xargs命令與find命令一起使用。find命令把匹配到的文件傳遞給xargs命令,而xargs命令每次只獲取一部分文件而不是全部,不像-exec選項那樣。這樣它可以先處理最先獲取的一部分文件,然后是下一批,并如此繼續下去。
2、有些系統中,使用-exec選項會為處理每一個匹配到的文件而發起一個相應的進程,并非將匹配到的文件全部作為參數一次執行。這樣在有些情況下就會出現進程過多,系統性能下降的問題,因而效率不高;而使用xargs命令則只有一個進程。另外,在使用xargs命令時,究竟是一次獲取所有的參數,還是分批取得參數,以及每一次獲取參數的數目都會根據該命令的選項及系統內核中相應的可調參數來確定。
轉載于:https://my.oschina.net/weiweiblog/blog/402955
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Linux按文件内容查找文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rsync同步文件到远程主机
- 下一篇: html5 XMLHttpRequest