grepの組み合わせを見つけるのlinux

著作権:無料もっとマイクロビジネスのマーケティングコース、公共号[ショップ]に注意を払ってください!https://blog.csdn.net/gzw1623231307/article/details/56475433

1.すべての「の.h」ファイルを探します

find /PATH -name "*.h"

2.すべての「.H」ファイルの「HelloWorldの」文字列を含むファイルを検索

find /PATH -name "*.h" -exec grep -in "helloworld" {} \;

見つける/ PATHを-name "* .hの" | xargsのはgrep -in "のhelloworld"

3.すべての「の.h」ファイルと 『HelloWorldの』文字列を含む「.C」ファイルを探します

find /PATH /( -name "*.h" -or -name "*.c" /) -exec grep -in "helloworld" {} \;

4.非バックアップファイルの「HelloWorldの」文字列を含むファイルを検索

find /PATH /( -not -name "*~" /) -exec grep -in "helloworld" {} \;

注意:/PATHパスを見つけるには、デフォルトでは現在のパスです。ベルト-execパラメータを\しなければならない。最後に、それ以外の場合は「見つける:欠落している」プロンプトが表示されます「パラメータ」-exec。



見つけ使用してxargsが
1パス名-options [-print -exec -ok]見つける
-optinos
ファイル名で検索:1)-name
-print見つける〜-name "* .TXT"を
0 [〜-name「[AZ]見つけます-9] .TXT「-print
2)-permは:権利に従ってファイルを見つける
見つける〜-perm 755の-printルックアップファイルのパーミッション755
のfind〜-perm 007 -print 7がOファイルのパーミッション上の場所を探します
〜-permを見つけます4000 -printはsuidされたファイル見つかっ
3)は-prune
カレントディレクトリ次のではない見つける
4)-userをして-nouser
趙されるメインの文書ファイルを見つける-print〜-user趙を探す
〜-nouser -printのルックアップファイルの所有者が持っている見つけます削除されたファイル
5) -基と-nogroup
グループファイルが趙あるファイルを探す-print〜検索-基の趙を
時系列で6)
5日以内に、ファイル内-mtime -5 -printファイルの修正時刻が〜検索
見つける〜-mtime 3日前に+3 -printファイルの修正時刻をファイル
見つける〜-newer FILE1 -printファイルFILE1よりも新しいファイルを見つける
7)をタイプ別に検索
〜-type D -printすべてのディレクトリを検索見つける
8)の大きさに応じて
〜-size + 1000000C -printルックアップファイルサイズは1,000,000バイト(1M)より大きい見つけるファイル
このファイルシステムは、紙の内側に配置されて見つけるために9)
/ -name「を見つけます* .TXT「-mount -print
-exec、-OK:ファイルを実行するためのコマンドは、コマンドをフォームに対応する、シェルコマンド指定されたパラメータに一致する検索: 『コマンド』 {} \;
実行コマンドの前に-OKは確認するために
〜を見つけます- F {-l -exec LSタイプ} \;
"* .logの" +5 -OK RM -mtime {} \ / -nameを見つける。
-nameコアRMの-exec {} \ ;.見つける
-x DEVパラメーターを使用するには、
見つける防止しました他のパーティションの検索
。見つけ-size 0 -execのrm {} \;
ファイルのサイズが0の削除
-exec機能付き2. xargsがに似ている
| xargsのはLS -l検索〜型F
検索/ -name「* .logに」型-print F | xargsのはgrep -i DB0
型がFで検索|。xargsのはgrep -i "メアリー"
すべてのファイルの中にメアリー文字列を取得するため
のls *〜| xargsのRM -rf
〜で終わるすべてのファイルを削除



SVNのsvnフォルダフィルタ

1.使用管道进行双层“过滤”,其中第二次grep使用了 -v选项,即 逆向匹配,打印出不匹配的行
     grep -r ' function_name ' * | grep -v '.svn'

    2.或者更简单一些,直接使用 --exclude-dir选项,即 指定排除目录,注意svn前的  \.
     grep -r --exclude-dir=\.svn 'function_name' * 



grep多个过滤条件

1、或操作

  grep -E '123|abc' filename  // 找出文件(filename)中包含123或者包含abc的行
  egrep '123|abc' filename    // 用egrep同样可以实现
  awk '/123|abc/' filename   // awk 的实现方式

2、与操作

  grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

 

3、其他操作

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,


find过滤svn文件夹

find -type f ! -path '*/.svn/*'



おすすめ

転載: blog.csdn.net/gzw1623231307/article/details/56475433