您的位置:新葡亰496net > 服务器网络 > linux查找目录下的保有文件中是或不是带有有些字

linux查找目录下的保有文件中是或不是带有有些字

发布时间:2019-06-18 08:50编辑:服务器网络浏览(78)

    linux查看目录下具备文件内容中是不是带有有些字符串,linux字符串

    来源:

    寻找目录下的装有文件中是否含有有些字符串
    find .|xargs grep -ri “IBM”
    寻觅目录下的保有文件中是或不是含有某些字符串,并且只打字与印刷出文件名
    find .|xargs grep -ri “IBM” -l
    1.正则表明式
    (1)正则表明式一般用来描述文本形式的新鲜用法,由一般字符(举个例子字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。
    (2)基本元字符集及其含义
    ^ :只相配行首。 如^a 相配以a开首的行abc,a2e,a12,aaa,……
    :只相称行尾。   如^a 相称以a结尾的行bca,12a,aaa,…….   
          * :匹配0个或三个此单字符。 如(a)* 匹配 空,a,aa,aaa,….   
          [] :只匹配[]内字符。能够是贰个单字符,也得以是字符系列,用”,”将里面要同盟的例外字符串分开。也能够采纳-来表示[]内字符系列的限定,如[1-5]表示[12345]   
           :只用来遮掩一个元字符的例外意义。 如*,’,”,|, ,^,. 等   
          .:(点)只特别任性单字符。   
          pattern{n}:只用来合作前边pattern出现的次数.n为次数。如a{2}匹配aa.   
          pattern{n,}:含义同上,但次数最少为n.如a{2,}相配aa,aaa,aaaa,…..   
          pattern{n,m}:含义同上,但次数在n和m之间。如a{2,4}相配aa,aaa,aaaa多少个   
      (3)比如表明:   
          ^ :相配空行
    ^.$ :相称包罗三个字符的行
    *.pas :匹配以*.pas结尾的有着字符或文件
    [0123456789]或[0-9] :假定要同盟大肆贰个数字
    [a-z] :放肆小写字母
    [A-Za-z] :大肆大小写字母
    [S,s] :相称大小写S
    [0-9]{3}.[0-9]{3}.[0-9]{3}.[0-9]{3} :匹配IP地址 [0-9]{3}五个0-9结合的字符串;. :相称点(注意这里点是特殊的字符,所以要用””来屏蔽其含义)
    2.find介绍 (1)查找具备某个特征文件的命令,可遍历当前目录以至于整个文件系统来查看有些文件或目录,其遍历大的文件系统时相似位于后台施行。
    (2)find命令的一般情势
    find pathname -options [-print -exec -ok]
    -pathname :find命令所查找的目录路线。如用”.”来代表近期的目录,用/来表示系统根目录
    -print :find命令将相称的公文输出到职业输出
    -exec: find命令对一双两好的文本进行该参数所付出的shell命令,相应的通令格局为
    ‘command’{} ; (注意{}和时期的空格)
    -ok 和 -exec的效果一样,只可是以一种越发安全的情势来实行该参数所提交的shell命令,在施行每二个命令在此之前,都会提交提醒,让用户来规定是否奉行。
    options有如下二种:
    -name :依据文件名查找文件
    -perm :依据文件权限来查找文件
    -user :依据文件属主来查找文件
    -group :遵照文件所属的组来查找文件
    -mtime -n n 依照文件的变动时间来查找文件,-n表示文件更动时间距以后n天以内, n代表文件改换时间于今后n天在此之前。find命令还或然有-atime 和-ctime选项,但它们都和-mtime选项相似。
    -size n[c]查找文件长度为n块的文本,带有c时表示文件长度以字节计。
    -nogroup 查找无有效所属组的文本,即该文件所属的组在/etc/groups中不设有
    -newer file1 !file2查找改造时间比文件file1新但比文件file2旧的文本
    -depth 先查找钦命目录有无匹配文件,若无则再在子目录中追寻
    -type 查找某一种类的文件,如
    b :块设备文件
    d:目录
    e:字符设备文件
    p;管道文件
    l:符号链接文件
    f:普通文书
    (3)find命令例如
    find -name “*.txt” -print 查找txt结尾的文书并出口到显示屏上
    find /cmd “.sh” -print 查找/cmd目录下具有sh文件,并出口
    find . -perm 755 -print 查找当前目录下放权力限为755的文件,并出口
    find pwd -user root -print 查找当前目录下属主为root的文本,并出口
    find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文书
    find /var -mtime -5 -print 查找/var目录下退换时间为5天内的有所文件
    find /var -mtime 5 -print 查找/var目录下转移时间为5天以前的具备文件
    find /var -newer “myfile1” ! -newer “myfile2” -print 查找/var目录下比myfile1新,可是比myfile2旧的享有文件。
    find /var -type d -print 查找/var目录下具备目录
    find /var -type l -print 查找/var目录下全数的标记链接文件。
    find . -size 一千000c -print 查找当前目录下当先一千000字节的文件
    find / -name “con.file” -depth -print 查找根目录下有无”con.file”,若无则在其子目录中追寻
    find . -type f -exec ls -l {} ; 查找当前目录下是不是有平时文书,若有则实施ls -l
    (4)xargs命令
    在 使用find命令的-exec选项管理相配到的文本时,find命令将兼具相配到的公文一同传递给exec。不幸的是,有个别系统对能够传递给exec的命 令长度有限量,那样find命令运营几分钟过后正是出现溢出错误。错误音信日常是“参数列太长”或“参数列溢出”。那正是xargs的用途所在,非常是与 find命令一道行使,exec会倡导七个经过,而xargs会多少个,唯有二个
    find ./ -perm -7 -print | xargs chmod o-w 查找权限为7的文书并传递给chmod管理
    3.grep介绍 (1)grep 的相似格式为 grep [options] 基本正则表明式 [文件]
    字符串参数最佳使用是双引号括,一是幸免被误会为shell命令,二是能够用来搜寻七个单词组成的字符串
    -c:只输出相称行的记数
    -i:不区分轻重缓急写(只适用于单个字符)
    -h:查询三个文本时不展现文件名
    -H:只呈现文件名
    -l:查询多文本时只输出包含相配字符的公文名
    -n:只展现相称行及其行号
    -s:不显得不存在或无相配文本的错误讯息。
    -v:展现不分包匹配文本的持有行。
    (2)例如表达:
    grep ^[^210] myfile 相配myfile中以非2、1、0开端的行
    grep “[5-8][6-9][0-3]” myfile 相配myfile中首先位为5|6|7|8,首个人6|7|8|9,首个人为0|1|2|3的八个字符的行
    grep “4{2,4}” myfile 匹配myfile中含有44,444或4444的行
    grep “?” myfile相配myfile中涵盖大肆字符的行
    (3)grep命令类名
    [[:upper:]] 表示[A-Z]
    [[:alnum:]] 表示[0-9a-zA-Z]
    [[:lower:]] 表示[a-z]
    [[:space:]] 表示空格也许tab键
    [[:digit:]] 表示[0-9]
    [[:alpha:]] 表示[a-zA-Z]
    如:grep “5[[:digit:]][[:digit:]]” myfile 匹配myfile中隐含5起来接下去两位都以数字的行。
    4.awk介绍
    可以从文件或字符串中基于钦命规则浏览和收裁撤息,是一种自解释的造成语言。
    (1)awk命令市价势 awk [-F filed-spearator] ‘command’ input-files
    awk脚本:全数awk命令插入二个文本,并使awk程序可进行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。awk脚本是由各个操作和方式组成。
    形式部分决定动作语句几时触发及触发事件。(BEGIN,END)
    动作对数据开始展览管理,放在{}内指明(print)
    (2)分隔符、域和著录
    awk实施时,其浏览域标志为1,1,2,…n.这种形式成为域标记。n.。0为全数域。
    (3)比如表明:
    awk ‘{print 0}' test.txt |tee test.out 输出test.txt中享有行0表示全数域
    awk -F : ‘{print 1} test.txt |tee test.out’   同上。。只是分隔符为”:”   
          awk ‘BEGIN {print “IPDaten”}{print $1 "t" $4} END{print “end-of-report”}’ test.txt   
          初阶时打字与印刷“IPDate”甘休时打印“end-of-report”中间打字与印刷主体新闻,比如总共相配三条音讯,则输出如下:  
    IPDate   
    1 first   
    2 second   
    3 third   
    end-of-report   
      (4)相称操作符 ~ 匹配,!~ 不匹配   
          cat test.txt |awk ‘0~/210.34.0.13/’ 匹配test.txt中为210.34.0.13的行
    awk ‘0!~/210.34.0.13’ test.txt     匹配test.txt中不是210.34.0.13的行   
          awk ‘{if($1=="210.34.0.13") print $0}’ test.txt 相配 test.txt中首先个域为210.34.0.13的行。  
    5.sed介绍     sed不与初阶化文件打交道,它操作的只是贰个拷贝,然后全数的转移假诺未有重定向到一个文件,将出口到荧屏。   
        sed是一种很首要的文本过滤工具,使用一行命令可能应用管道与grep与awk相结合。是一种非交互性文本流编辑。   
        (1)调用sed的两种情势   
          使用sed命令行格式为:sed [options] sed命令 输入文件   
          使用sed脚本文件格式为:sed[options] -f sed脚本文件 输入文件   
          sed脚本文件[options] 输入文件   
          –不管是使用shell命令行格局或脚本文件措施,假如未有一些名输入文件,sed从行业内部输入中经受输入,一般是键盘或重定向结果。   
        (2)sed 命令的options如下   
            -n:不打印   
            -c:下一命令是编辑命令   
            -f:假使正在调用sed脚本文件   
        (3)sed在文书中询问文本的措施   
              –使用行号,能够是五个轻便的数字,或是多个行号的限量   
              –使用正则表明式   
        (4)读取文本的诀窍   
              x       x为一行号   
              x,y       表示行号范围从x到y   
              /pattern/     查询包括方式的行   
              /pattern/pattern/ 查询包括多个格局的行   
              pattern/,x   在给定的行号上查询包罗形式的行   
              x,/pattern/   通过行号和形式查询相称行   
              x,y!       查询不带有钦赐行号x和y的行   
          (5)基本sed编辑命令   
                p   打印相配行   
                d   删除相配行   
                =   展现文件行号   
                a   在一定行号后附加新文本消息   
                i   在平素行号后插入新文本音信   
                c   用新文本替换定位文本   
                s     使用替换方式替换相应方式   
                r     从另三个文本中读文件   
                w   写文本到一个文本   
                q     第一个情势相称达成后推出或及时退出   
                l     展现与八禁止ASCII代码等价的主宰字符   
                {}   在稳住行实践的吩咐组   
                n     从另三个文件中读文件下一行,并附加在下一行   
                g     将模式2粘贴到/pattern n/   
                y     传送字符   
        (6)举个例子表达:   
              sed -n ‘2p’ test.txt 打印第二行的新闻(注意:-n是不打字与印刷不相称的音信,若没加-n,则打字与印刷文件的全体音讯而不是相配消息)   
              sed -n ‘1,4p’ test.txt 打字与印刷第一行到第四行的新闻   
              sed -n ‘/los/p’ test.txt格局相配los,并打印出来   
              sed -n ‘2,/los/p’ test.txt 从第二行开始。。知道相称第多个los   
              sed -n ‘/^/p’ test.txt 相配空行
    sed -n -e ‘/^/p' -e '/^/=’ test.txt 打字与印刷空行及行号
    sed -n ‘/good/amorning’ test.txt 在特别到的good后边附加morning
    sed -n ‘/good/imorning’ test.txt 在同盟到的good前面插入morning
    sed -n ‘/good/cmorning’ test.txt 将特别到的good替换来morning
    sed ‘1,2d’ test.txt 删除第1和2行
    sed ‘s/good/good morning/g’ test.txt 相配good并替换到goodmorning
    send ‘s/good/& hello /p’ test.txt 相称到good就在其前面加上hello
    send ‘s/good/ hello &/p’ test.txt 相称到good就在其前面加上hello
    6.联结与分割(sort,uniq,join,cut,paste,split) (1)sot命令
    sort [options] files 好多不一的域按差别的列顺序排序
    -c 测试文件是还是不是已经排序
    -m 合并多个排序文件
    -u 删除全部同一行
    -o 存款和储蓄sort结果的输出文件名
    -t 域分隔符,用非空格或tab发轫排序
    n :n 为列号,使用此列号起头排序
    -n 钦命排序是域上的数字分类项
    -r 相比求逆
    sort -c test.txt 测试文件是还是不是分类过
    sort -u test.txt 排序并联合同样的行
    sort -r test.txt 以相反的顺序排列
    sort -t “/” 2 test.txt 以”/”分隔,第二个域起先分类
    (2)uniq命令
    uniq [options ] files 从叁个文本文件中除去或取缔重复行
    -u 只显示不重复行
    -d 只显示存重复数据行,每一个重复行只展现当中一行
    -c 打字与印刷每一重复行现身次数
    -f :n为数字,前n个域被忽略
    uniq -f 2 test.txt 忽略前2个域
    (3)join 命令
    join [options] file1 file2 用来现在自七个分类文本文件的行连在同步
    -an,n为一数字,用于连接时从文件n中呈现不相称行
    -onm ,连接域,n为文件号,m为域号
    -jnm,n为文件号,m为域号,使用其余域作连接域
    -t ,域分隔符。用来设置非空格或tab键的域分隔符。
    (4)split命令
    split -output_file_size intput_filename output_filename
    用来将大文件分割成小文件。
    -b n,各样分割文件的大小n
    -C n,每一种分割文件一行最多n字节
    -l n,每一个分割文件的行数
    -n,同-l n
    split -10 test.txt 将test.txt分割成10行的小文件
    (5)cut 命令
    cut -c n1-n2 filename 突显每行从开始算起 n1 到 n2 的文字。
    cut -c 3-5 test.txt 展现test.txt中每行从第3到第5个字符

    招来目录下的持有文件中是或不是含有有个别字符串 
    find .|xargs grep -ri "IBM" 
    寻找目录下的兼具文件中是或不是含有有个别字符串,并且只打字与印刷出文件名 
    find .|xargs grep -ri "IBM" -l 
    1.正则表明式  
      (1)正则表明式一般用来描述文本形式的例外用法,由通常字符(举个例子字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。 
      (2)基本元字符集及其含义 
          ^ :只相称行首。   如^a 相称以a开端的行abc,a2e,a12,aaa,...... 
          $ :只相配行尾。   如^a 相称以a结尾的行bca,12a,aaa,....... 
          * :相配0个或多个此单字符。 如(a)* 匹配 空,a,aa,aaa,.... 
          [] :只匹配[]内字符。能够是三个单字符,也足以是字符类别,用","将在那之中要合营的两样字符串分开。也得以行使-来表示[]内字符连串的界定,如[1-5]表示[12345] 
           :只用来遮掩三个元字符的非常意义。 如*,',",|, ,^,. 等 
          .:(点)只卓绝自便单字符。 
          pattern{n}:只用来合作后边pattern出现的次数.n为次数。如a{2}匹配aa. 
          pattern{n,}:含义同上,但次数最少为n.如a{2,}匹配aa,aaa,aaaa,..... 
          pattern{n,m}:含义同上,但次数在n和m之间。如a{2,4}匹配aa,aaa,aaaa三个 
      (3)比方说明: 
          ^$ :相称空行 
          ^.$ :相称包罗三个字符的行 
        *.pas :匹配以*.pas结尾的全部字符或文件 
        [0123456789]或[0-9] :假定要合营任性叁个数字 
        [a-z] :放肆小写字母 
        [A-Za-z] :任意大小写字母 
        [S,s] :相称大小写S 
        [0-9]{3}.[0-9]{3}.[0-9]{3}.[0-9]{3} :匹配IP地址 [0-9]{3}三个0-9构成的字符串;. :相配点(注意这里点是极度的字符,所以要用""来屏蔽其意义) 
    2.find介绍   (1)查找具有某个特征文件的授命,可遍历当前目录以致于整个文件系统来查看有个别文件或目录,其遍历大的文件系统时相似位于后台实践。 
      (2)find命令的一般情势 
          find pathname -options [-print -exec -ok] 
          -pathname :find命令所查找的目录路线。如用"."来表示前段时间的目录,用/来表示系统根目录 
          -print :find命令将卓殊的文件输出到正规输出 
          -exec: find命令对金童玉女的公文进行该参数所提交的shell命令,相应的命令情势为 
            'command'{} ; (注意{}和里头的空格) 
          -ok 和 -exec的成效一样,只但是以一种越发安全的形式来施行该参数所提交的shell命令,在实施每叁个限令从前,都会付出提醒,让用户来规定是还是不是进行。 
        options有如下三种: 
        -name :遵照文件名查找文件 
        -perm :根据文件权限来查找文件 
        -user :遵照文件属主来查找文件 
        -group :依照文件所属的组来查找文件 
        -mtime -n n 依据文件的改观时间来查找文件,-n代表文件改造时间现今后n天之内, n表示文件更动时间距以往n天以前。find命令还应该有-atime 和-ctime选项,但它们都和-mtime选项相似。 
        -size n[c]查找文件长度为n块的文书,带有c时表示文件长度以字节计。 
        -nogroup 查找无有效所属组的文书,即该公文所属的组在/etc/groups中不存在 
        -newer file1 !file2查找更换时间比文件file1新但比文件file2旧的文书 
        -depth 先查找内定目录有无相配文件,若无则再在子目录中查找 
        -type 查找某一类型的公文,如 
          b :块设备文件 
          d:目录 
          e:字符设备文件 
          p;管道文件 
          l:符号链接文件 
          f:普通文书 
      (3)find命令比如 
          find -name "*.txt" -print 查找txt结尾的文本并出口到屏幕上 
          find /cmd ".sh" -print 查找/cmd目录下全数sh文件,并出口 
          find . -perm 755 -print 查找当前目录下放权力限为755的文书,并出口 
          find `pwd` -user root -print 查找当前目录下属主为root的文件,并出口 
          find ./ -group sunwill -print 查找当前目录下所属主是sunwill的公文 
          find /var -mtime -5 -print 查找/var目录下改造时间为5天内的装有文件 
          find /var -mtime 5 -print 查找/var目录下改换时间为5天从前的全体文件 
          find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,不过比myfile2旧的具备文件。 
          find /var -type d -print 查找/var目录下全数目录 
          find /var -type l -print 查找/var目录下具有的号子链接文件。 
          find . -size 一千000c -print 查找当前目录下超越一千000字节的公文 
          find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中查找 
          find . -type f -exec ls -l {} ; 查找当前目录下是不是有日常文书,若有则实践ls -l 
        (4)xargs命令 
          在 使用find命令的-exec选项管理相配到的文本时,find命令将富有相称到的文本一齐传递给exec。不幸的是,有个别系统对能够传递给exec的命 令长度有限定,那样find命令运转几分钟以往便是现身溢出错误。错误音讯平常是“参数列太长”或“参数列溢出”。那正是xargs的用途所在,非常是与 find命令一道使用,exec会倡导多少个进程,而xargs会多个,唯有四个 
          find ./ -perm -7 -print | xargs chmod o-w 查找权限为7的文本并传递给chmod处理 
    3.grep介绍   (1)grep 的形似格式为 grep [options] 基本正则表明式 [文件] 
          字符串参数最佳利用是双引号括,一是严防被误解为shell命令,二是足以用来搜索八个单词组成的字符串 
          -c:只输出相配行的记数 
          -i:不区分轻重缓急写(只适用于单个字符) 
          -h:查询三个文件时不彰显文件名 
          -H:只显示文件名 
          -l:查询多文本时只输出包罗相称字符的文书名 
          -n:只显示相称行及其行号 
          -s:不显得不设有或无相称文本的错误音讯。 
          -v:展现不含有相配文本的全体行。 
      (2)举个例子表达: 
          grep ^[^210] myfile 相配myfile中以非2、1、0伊始的行 
          grep "[5-8][6-9][0-3]" myfile 相称myfile中率先位为5|6|7|8,第肆位6|7|8|9,第二个人为0|1|2|3的多个字符的行 
          grep "4{2,4}" myfile 匹配myfile中含有44,444或4444的行 
          grep "?" myfile相配myfile中含有放肆字符的行 
      (3)grep命令类名 
          [[:upper:]]   表示[A-Z] 
          [[:alnum:]]   表示[0-9a-zA-Z] 
          [[:lower:]]   表示[a-z] 
          [[:space:]]   表示空格可能tab键 
          [[:digit:]]   表示[0-9] 
          [[:alpha:]]   表示[a-zA-Z] 
        如:grep "5[[:digit:]][[:digit:]]" myfile 相称myfile中包罗5起先接下去两位都以数字的行。 
    4.awk介绍 
    能够从文件或字符串中基于钦赐规则浏览和收取音讯,是一种自解释的成为语言。 
    (1)awk命令行情势 awk [-F filed-spearator] 'command' input-files 
        awk脚本:全数awk命令插入贰个文件,并使awk程序可实行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。awk脚本是由种种操作和情势组成。 
        情势部分决定动作语句哪天触发及触发事件。(BEGIN,END) 
        动作对数码举办管理,放在{}内指明(print) 
    (2)分隔符、域和记录 
        awk实践时,其浏览域标记为$1,$2,...$n.这种办法成为域标志。$0为全体域。 
    (3)例如表明: 
          awk '{print $0}' test.txt |tee test.out 输出test.txt中享有行$0表示全体域 
          awk -F : '{print $1} test.txt |tee test.out'   同上。。只是分隔符为":" 
          awk 'BEGIN {print "IPDaten"}{print $1 "t" $4} END{print "end-of-report"}' test.txt 
          开首时打字与印刷“IPDate”甘休时打字与印刷“end-of-report”中间打字与印刷主体新闻,比方总共相配三条音讯,则输出如下:   
    IPDate 
    1 first 
    2 second 
    3 third 
    end-of-report 
      (4)相称操作符 ~ 匹配,!~ 不匹配 
          cat test.txt |awk '$0~/210.34.0.13/' 匹配test.txt中为210.34.0.13的行 
          awk '$0!~/210.34.0.13' test.txt     匹配test.txt中不是210.34.0.13的行 
          awk '{if($1=="210.34.0.13") print $0}' test.txt 相称test.txt中率先个域为210.34.0.13的行。
    5.sed介绍     sed不与初叶化文件打交道,它操作的只是贰个正片,然后全部的更动假设未有重定向到一个文书,将出口到荧屏。 
        sed是一种很重大的文件过滤工具,使用一行命令可能接纳管道与grep与awk相结合。是一种非交互性文本流编辑。 
        (1)调用sed的二种办法 
          使用sed命令行格式为:sed [options] sed命令 输入文件 
          使用sed脚本文件格式为:sed[options] -f sed脚本文件 输入文件 
          sed脚本文件[options] 输入文件 
          --不管是应用shell命令行情势或脚本文件情势,假如未有一点名输入文件,sed从正规输入中承受输入,一般是键盘或重定向结果。 
        (2)sed 命令的options如下 
            -n:不打印 
            -c:下一发令是编写命令 
            -f:借使正在调用sed脚本文件 
        (3)sed在文书中询问文本的主意 
              --使用行号,能够是一个大致的数字,或是三个行号的范围 
              --使用正则表明式 
        (4)读取文本的法子 
              x       x为一行号 
              x,y       表示行号范围从x到y 
              /pattern/     查询包涵形式的行 
              /pattern/pattern/ 查询包罗三个情势的行 
              pattern/,x   在加以的行号上查询包罗情势的行 
              x,/pattern/   通过行号和方式查询相配行 
              x,y!       查询不包罗钦定行号x和y的行 
          (5)基本sed编辑命令 
                p   打字与印刷相配行 
                d   删除相称行 
                =   展现文件行号 
                a   在稳定行号后附加新文本新闻 
                i   在定点行号后插入新文本新闻 
                c   用新文本替换定位文本 
                s     使用替换情势替换相应情势 
                r     从另几个文本中读文件 
                w   写文本到二个文本 
                q     第一个格局相称实现后推出或及时退出 
                l     展现与八禁止ASCII代码等价的主宰字符 
                {}   在一定行施行的授命组 
                n     从另二个文本中读文件下一行,并附加在下一行 
                g     将模式2粘贴到/pattern n/ 
                y     传送字符 
        (6)比如表达: 
              sed -n '2p' test.txt 打字与印刷第二行的消息(注意:-n是不打字与印刷不协作的音信,若没加-n,则打字与印刷文件的持有新闻而不是协作消息) 
              sed -n '1,4p' test.txt 打字与印刷第一行到第四行的新闻 
              sed -n '/los/p' test.txt情势匹配los,并打字与印刷出来 
              sed -n '2,/los/p' test.txt 从第二行初阶。。知道般配第叁个los 
              sed -n '/^$/p' test.txt 相配空行 
              sed -n -e '/^$/p' -e '/^$/=' test.txt 打字与印刷空行及行号 
              sed -n '/good/amorning' test.txt 在协作到的good后边附加morning 
              sed -n '/good/imorning' test.txt 在合营到的good前面插入morning 
              sed -n '/good/cmorning' test.txt 将相配到的good替换到morning 
              sed '1,2d' test.txt 删除第1和2行 
              sed 's/good/good morning/g' test.txt 相配good并替换到goodmorning 
              send 's/good/& hello /p' test.txt 相配到good就在其背后加上hello 
              send 's/good/ hello &/p' test.txt 相称到good就在其前边加上hello 
    6.合并与区划(sort,uniq,join,cut,paste,split)     (1)sot命令 
            sort [options] files 诸多两样的域按分歧的列顺序排序 
              -c 测试文件是不是曾经排序 
              -m 合并五个排序文件 
              -u 删除全部同一行 
              -o 存款和储蓄sort结果的出口文件名 
              -t 域分隔符,用非空格或tab起首排序 
               n :n 为列号,使用此列号起先排序 
              -n 内定排序是域上的数字分类项 
              -r 相比求逆 
            sort -c test.txt 测试文件是或不是分类过 
            sort -u test.txt 排序并统一同样的行 
            sort -r test.txt 以相反的顺序排列 
            sort -t "/" 2 test.txt 以"/"分隔,首个域发轫分类 
          (2)uniq命令 
              uniq [options ] files 从二个文件文件中除去或取缔重复行 
              -u 只彰显不重复行 
              -d 只呈现成双重数据行,每一种重复行只彰显其中一行 
              -c 打字与印刷每一重复行出现次数 
              -f :n为数字,前n个域被忽视 
              uniq -f 2 test.txt 忽略前2个域 
          (3)join 命令 
              join [options] file1 file2 用来未来自多少个分类文本文件的行连在联名 
              -an,n为一数字,用于连接时从文件n中显示不相称行 
              -onm ,连接域,n为文件号,m为域号 
              -jnm,n为文件号,m为域号,使用其余域作连接域 
              -t ,域分隔符。用来设置非空格或tab键的域分隔符。 
            (4)split命令 
              split -output_file_size intput_filename output_filename 
              用来将大文件分割成小文件。 
                -b n,每种分割文件的轻重n 
                -C n,每种分割文件一行最多n字节 
                -l n,各类分割文件的行数 
                -n,同-l n 
                split -10 test.txt 将test.txt分割成10行的小文件 
            (5)cut 命令 
              cut -c n1-n2 filename 显示每行从初步算起 n1 到 n2 的文字。 

    linux查找目录下的装有文件中是或不是含有有个别字符串

    追寻目录下的保有文件中是否含有有个别字符串
    find .|xargs grep -ri "IBM"
    探究目录下的富有文件中是不是含有有些字符串,并且只打字与印刷出文件名
    find .|xargs grep -ri "IBM" -l
    1.正则表明式
    (1)正则表达式一般用来描述文本方式的异样用法,由一般字符(比如字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。
    (2)基本元字符集及其含义
    ^ :只匹配行首。 如^a 相配以a开头的行abc,a2e,a12,aaa,......
    $ :只相配行尾。 如^a 相称以a结尾的行bca,12a,aaa,.......
    * :相称0个或多个此单字符。 如(a)* 匹配 空,a,aa,aaa,....
    [] :只匹配[]内字符。能够是三个单字符,也得以是字符类别,用","将中间要同盟的不等字符串分开。也能够利用-来表示[]内字符系列的限量,如[1-5]表示[12345]
    :只用来遮掩四个元字符的奇异含义。 如*,',",|, ,^,. 等
    .:(点)只万分任性单字符。
    pattern{n}:只用来协作前边pattern出现的次数.n为次数。如a{2新葡亰496net,}匹配aa.
    pattern{n,}:含义同上,但次数最少为n.如a{2,}匹配aa,aaa,aaaa,.....
    pattern{n,m}:含义同上,但次数在n和m之间。如a{2,4}匹配aa,aaa,aaaa三个
    (3)譬喻表达:
    ^$ :相配空行
    ^.$ :相配包罗三个字符的行
    *.pas :匹配以*.pas结尾的富有字符或文件
    [0123456789]或[0-9] :假定要同盟任性三个数字
    [a-z] :任性小写字母
    [A-Za-z] :猖狂大小写字母
    [S,s] :般配大小写S
    [0-9]{3}.[0-9]{3}.[0-9]{3}.[0-9]{3} :匹配IP地址 [0-9]{3}四个0-9组成的字符串;. :相配点(注意这里点是分外的字符,所以要用""来屏蔽其含义)
    2.find介绍 (1)查找具备有些特征文件的吩咐,可遍历当前目录以至于整个文件系统来查看某个文件或目录,其遍历大的文件系统时相似位于后台实行。
    (2)find命令的形似形式
    find pathname -options [-print -exec -ok]
    -pathname :find命令所查找的目录路线。如用"."来代表如今的目录,用/来表示系统根目录
    -print :find命令将相配的文书输出到正式输出
    -exec: find命令对男才女貌的文件实施该参数所提交的shell命令,相应的命令方式为
    'command'{} ; (注意{}和时期的空格)
    -ok 和 -exec的功能同样,只可是以一种尤其安全的方式来举行该参数所提交的shell命令,在进行每一个命令此前,都会付出提示,让用户来规定是还是不是奉行。
    options有如下两种:
    -name :遵照文件名查找文件
    -perm :依据文件权限来查找文件
    -user :依照文件属主来查找文件
    -group :根据文件所属的组来查找文件
    -mtime -n n 遵照文件的改造时间来查找文件,-n代表文件更动时间距未来n天以内, n表示文件改造时间距以往n天之前。find命令还应该有-atime 和-ctime选项,但它们都和-mtime选项相似。
    -size n[c]查找文件长度为n块的公文,带有c时表示文件长度以字节计。
    -nogroup 查找无有效所属组的公文,即该公文所属的组在/etc/groups中不存在
    -newer file1 !file2查找改造时间比文件file1新但比文件file2旧的公文
    -depth 先查找钦命目录有无相配文件,若无则再在子目录中寻找
    -type 查找某一类其他文书,如
    b :块设备文件
    d:目录
    e:字符设备文件
    p;管道文件
    l:符号链接文件
    f:普通文书
    (3)find命令比如
    find -name "*.txt" -print 查找txt结尾的文书并出口到荧屏上
    find /cmd ".sh" -print 查找/cmd目录下具有sh文件,并出口
    find . -perm 755 -print 查找当前目录下放权力限为755的文件,并出口
    find `pwd` -user root -print 查找当前目录下属主为root的公文,并出口
    find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文本
    find /var -mtime -5 -print 查找/var目录下改换时间为5天内的富有文件
    find /var -mtime 5 -print 查找/var目录下转移时间为5天此前的有所文件
    find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,但是比myfile2旧的具备文件。
    find /var -type d -print 查找/var目录下具有目录
    find /var -type l -print 查找/var目录下全体的号子链接文件。
    find . -size 一千000c -print 查找当前目录下超越一千000字节的文件
    find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中搜索
    find . -type f -exec ls -l {} ; 查找当前目录下是还是不是有平常文书,若有则施行ls -l
    (4)xargs命令
    在 使用find命令的-exec选项管理相配到的文本时,find命令将兼具相称到的公文一齐传递给exec。不幸的是,有个别系统对能够传递给exec的命 令长度有限量,那样find命令运行几分钟之后就是出现溢出荒谬。错误消息平常是“参数列太长”或“参数列溢出”。那正是xargs的用途所在,极度是与 find命令一道利用,exec会倡导四个经过,而xargs会多少个,唯有二个
    find ./ -perm -7 -print | xargs chmod o-w 查找权限为7的文本并传递给chmod处理
    3.grep介绍 (1)grep 的形似格式为 grep [options] 基本正则表明式 [文件]
    字符串参数最佳利用是双引号括,一是卫戍被误会为shell命令,二是足以用来搜索三个单词组成的字符串
    -c:只输出相配行的记数
    -i:不区分轻重缓急写(只适用于单个字符)
    -h:查询四个文件时不展现文件名
    -H:只突显文件名
    -l:查询多文本时只输出包涵相配字符的文件名
    -n:只展现相称行及其行号
    -s:不展现不存在或无相称文本的错误新闻。
    -v:展现不分包匹配文本的具备行。
    (2)比如表明:
    grep ^[^210] myfile 相配myfile中以非2、1、0先河的行
    grep "[5-8][6-9][0-3]" myfile 相称myfile中第一个人为5|6|7|8,第肆个人6|7|8|9,第四位为0|1|2|3的八个字符的行
    grep "4{2,4}" myfile 匹配myfile中含有44,444或4444的行
    grep "?" myfile相配myfile中涵盖任性字符的行
    (3)grep命令类名
    [[:upper:]] 表示[A-Z]
    [[:alnum:]] 表示[0-9a-zA-Z]
    [[:lower:]] 表示[a-z]
    [[:space:]] 表示空格恐怕tab键
    [[:digit:]] 表示[0-9]
    [[:alpha:]] 表示[a-zA-Z]
    如:grep "5[[:digit:]][[:digit:]]" myfile 相称myfile中隐含5发端接下去两位都以数字的行。
    4.awk介绍
    能够从文件或字符串中基于钦点规则浏览和收取音信,是一种自解释的成为语言。
    (1)awk命令市价势 awk [-F filed-spearator] 'command' input-files
    awk脚本:全体awk命令插入多少个文件,并使awk程序可进行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。awk脚本是由各个操作和方式组成。
    格局部分决定动作语句何时触发及触发事件。(BEGIN,END)
    动作对数码进行管理,放在{}内指明(print)
    (2)分隔符、域和笔录
    awk执行时,其浏览域标识为$1,$2,...$n.这种办法成为域标记。$0为全部域。
    (3)举个例子表明:
    awk '{print $0}' test.txt |tee test.out 输出test.txt中存有行$0表示全体域
    awk -F : '{print $1} test.txt |tee test.out' 同上。。只是分隔符为":"
    awk 'BEGIN {print "IPDaten"}{print $1 "t" $4} END{print "end-of-report"}' test.txt
    初步时打字与印刷“IPDate”结束时打字与印刷“end-of-report”中间打字与印刷主体信息,比方总共相配三条音讯,则输出如下:
    IPDate
    1 first
    2 second
    3 third
    end-of-report
    (4)相配操作符 ~ 匹配,!~ 不匹配
    linux查找目录下的保有文件中是或不是带有有些字符串,linux查看目录下具有文件内容中是否包罗某些字符串。cat test.txt |awk '$0~/210.34.0.13/' 匹配test.txt中为210.34.0.13的行
    awk '$0!~/210.34.0.13' test.txt 匹配test.txt中不是210.34.0.13的行
    awk '{if($1=="210.34.0.13") print $0}' test.txt 匹配test.txt中第八个域为210.34.0.13的行。
    5.sed介绍 sed不与初步化文件打交道,它操作的只是二个正片,然后全数的改动若是没有重定向到一个文本,将出口到显示屏。
    sed是一种很首要的文本过滤工具,使用一行命令大概应用管道与grep与awk相结合。是一种非交互性文本流编辑。
    (1)调用sed的三种格局
    运用sed命令行格式为:sed [options] sed命令 输入文件
    使用sed脚本文件格式为:sed[options] -f sed脚本文件 输入文件
    sed脚本文件[options] 输入文件
    --不管是行使shell命令行方式或脚本文件格局,要是未有一点名输入文件,sed从标准输入中承受输入,一般是键盘或重定向结果。
    (2)sed 命令的options如下
    -n:不打印
    -c:下一发令是编写制定命令
    -f:假若正在调用sed脚本文件
    (3)sed在文件中查询文本的方法
    --使用行号,能够是叁个简约的数字,或是八个行号的限定
    --使用正则表明式
    (4)读取文本的措施
    x x为一行号
    x,y 代表行号范围从x到y
    /pattern/ 查询包蕴方式的行
    /pattern/pattern/ 查询包括三个格局的行
    pattern/,x 在加以的行号上查询包括情势的行
    x,/pattern/ 通过行号和形式查询相配行
    x,y! 查询不带有内定行号x和y的行
    (5)基本sed编辑命令
    p 打字与印刷相配行
    d 删除相称行
    = 显示文件行号
    a 在牢固行号后附加新文本新闻
    i 在固化行号后插入新文本消息
    c 用新文本替换定位文本
    s 使用替换情势替换相应情势
    r 从另一个文件中读文件
    w 写文本到一个文本
    q 首个形式相配实现后生产或立时退出
    l 显示与八禁止ASCII代码等价的调整字符
    {} 在固化行实施的命令组
    n 从另一个文件中读文件下一行,并附加在下一行
    g 将模式2粘贴到/pattern n/
    y 传送字符
    (6)举个例子表达:
    sed -n '2p' test.txt 打印第二行的音信(注意:-n是不打字与印刷不包容的音讯,若没加-n,则打字与印刷文件的具备音信而不是协作新闻)
    sed -n '1,4p' test.txt 打字与印刷第一行到第四行的音讯
    sed -n '/los/p' test.txt情势相配los,并打字与印刷出来
    sed -n '2,/los/p' test.txt 从第二行初阶。。知道相称第多少个los
    sed -n '/^$/p' test.txt 相称空行
    sed -n -e '/^$/p' -e '/^$/=' test.txt 打字与印刷空行及行号
    sed -n '/good/amorning' test.txt 在格外到的good前面附加morning
    sed -n '/good/imorning' test.txt 在十分到的good前边插入morning
    sed -n '/good/cmorning' test.txt 将协作到的good替换来morning
    sed '1,2d' test.txt 删除第1和2行
    sed 's/good/good morning/g' test.txt 相称good并替换来goodmorning
    send 's/good/& hello /p' test.txt 相称到good就在其背后加上hello
    send 's/good/ hello &/p' test.txt 相配到good就在其日前加上hello
    6.联合与区划(sort,uniq,join,cut,paste,split) (1)sot命令
    sort [options] files 大多两样的域按分化的列顺序排序
    -c 测试文件是或不是早已排序
    -m 合并八个排序文件
    -u 删除全体同一行
    -o 存款和储蓄sort结果的出口文件名
    -t 域分隔符,用非空格或tab开首排序
    n :n 为列号,使用此列号发轫排序
    -n 内定排序是域上的数字分类项
    -r 比较求逆
    sort -c test.txt 测试文件是还是不是分类过
    sort -u test.txt 排序并联合同样的行
    sort -r test.txt 以相反的顺序排列
    sort -t "/" 2 test.txt 以"/"分隔,第二个域发轫分类
    (2)uniq命令
    uniq [options ] files 从三个文件文件中剔除或取缔重复行
    -u 只体现不重复行
    -d 只展现有再一次数据行,各样重复行只展现在那之中一行
    -c 打字与印刷每一重复行出现次数
    -f :n为数字,前n个域被忽略
    uniq -f 2 test.txt 忽略前2个域
    (3)join 命令
    join [options] file1 file2 用来以往自两个分类文本文件的行连在共同
    -an,n为一数字,用于连接时从文件n中显示不相称行
    -onm ,连接域,n为文件号,m为域号
    -jnm,n为文件号,m为域号,使用其余域作连接域
    -t ,域分隔符。用来设置非空格或tab键的域分隔符。
    (4)split命令
    split -output_linux查找目录下的保有文件中是或不是带有有些字符串,linux查看目录下具有文件内容中是否包罗某些字符串。file_size intput_filename output_filename
    用来将大文件分割成小文件。
    -b n,每一种分割文件的大小n
    -C n,每一个分割文件一行最多n字节
    -l n,每个分割文件的行数
    -n,同-l n
    split -10 test.txt 将test.txt分割成10行的小文件
    (5)cut 命令
    cut -c n1-n2 filename 显示每行从开始算起 n1 到 n2 的文字。

    cut -c 3-5 test.txt 展现test.txt中每行从第3到第5个字符

    链接自

    查找目录下的享有文件中是或不是含有某些字符串 find .|xargs grep -ri IBM 查找目录下的具有文件...

    查找目录下的有所文件中是还是不是包罗某些字符串,并且只打字与印刷出文件名
    find . -name "*.type" | xargs grep -ri "str"

    Linux大杀器命令:查找全数目录下的保有文件的字符串命令

    命令为:
    find . |xargs grep -ri “bspSetPonTxDisable” -l**

    寻找目录下的享有文件中是或不是带有有个别字符串
    find .|xargs grep -ri “IBM”
    招来目录下的持有文件中是还是不是含有有个别字符串,并且只打字与印刷出文件名
    find .|xargs grep -ri “IBM” -l

              cut -c 3-5 test.txt 展现test.txt中每行从第3到第5个字符

    一、find 指令
    (1)查找具备某个特点文件的通令,可遍历当前目录乃至于整个文件系统来查阅某个文件或目录,其遍历大的文件系统时一般位于后台施行。
    (2)find命令的相似方式
    find pathname -options [-print -exec -ok]
    -pathname :find命令所查找的目录路线。如用"."来表示如今的目录,用/来代表系统根目录
    -print :find命令将合作的文件输出到正规输出

    1.正则表明式

    (1)正则表达式一般用来叙述文本形式的奇特用法,由一般性字符(比方字符a-z)以及特殊字符(称为元字符,如/、*、?等)组成。
    (2)基本元字符集及其含义
    ^ :只相配行首。 如^a 相配以a初叶的行abc,a2e,a12,aaa,……
    $ :只相称行尾。 如^a 相称以a结尾的行bca,12a,aaa,…….
    * :相称0个或八个此单字符。 如(a)* 匹配 空,a,aa,aaa,….
    [] :只匹配[]内字符。能够是三个单字符,也足以是字符连串,用”,”将内部要同盟的两样字符串分开。也得以运用-来表示[]内字符类别的界定,如[1-5]表示[12345]
    :只用来遮掩几个元字符的特种含义。 如*,’,”,|, ,^,. 等
    .:(点)只非常大肆单字符。
    pattern{n}:只用来合营前边pattern出现的次数.n为次数。如a{2}相称aa.
    pattern{n,}:含义同上,但次数最少为n.如a{2,}相称aa,aaa,aaaa,…..
    pattern{n,m}:含义同上,但次数在n和m之间。如a{2,4}相配aa,aaa,aaaa多个
    (3)比方表达:
    ^:相配空行. :匹配包蕴多个字符的行
    *.pas :匹配以*.pas结尾的具有字符或文件
    [0123456789]或[0-9] :假定要合作任意八个数字
    [a-z] :任意小写字母
    [A-Za-z] :大肆大小写字母
    [S,s] :相称大小写S
    [0-9]{3}.[0-9]{3}.[0-9]{3}.[0-9]{3} :匹配IP地址 [0-9]{3}多少个0-9重组的字符串;. :相配点(注意这里点是分歧通常的字符,所以要用””来屏蔽其含义)

    **

    find .|xargs grep -ri "IBM" 查找目录下的具有文件中是或不是带有某些字符串,并且只打字与印刷出文件名 fi...

    -exec: find命令对金童玉女的文本实行该参数所提交的shell命令,相应的一声令下方式为 'command'{} ; (注意{}和中间的空格)
    eg:
    find . -name "*.png" -exce rm -rf {} ;

    2.find介绍

    **
    (1)查找具备某个特点文件的吩咐,可遍历当前目录以至于整个文件系统来查阅有些文件或目录,其遍历大的文件系统时一般位于后台施行。
    (2)find命令的貌似方式
    find pathname -options [-print -exec -ok]
    -pathname :find命令所查找的目录路线。如用”.”来表示如今的目录,用/来代表系统根目录
    -print :find命令将格外的文本输出到标准输出
    -exec: find命令对男才女貌的文书实践该参数所提交的shell命令,相应的命令情势为
    ‘command’{} ; (注意{}和里面包车型大巴空格)
    -ok 和 -exec的职能同样,只但是以一种特别安全的格局来实施该参数所付出的shell命令,在执行每三个限令从前,都会交到提醒,让用户来鲜明是还是不是进行。
    options有如下两种:
    -name :依据文件名查找文件
    -perm :根据文件权限来查找文件
    -user :根据文件属主来查找文件
    -group :依据文件所属的组来查找文件
    -mtime -n n 遵照文件的改观时间来查找文件,-n表示文件改动时间距以后n天之内, n代表文件更换时间距未来n天在此以前。find命令还会有-atime 和-ctime选项,但它们都和-mtime选项相似。
    -size n[c]查找文件长度为n块的文书,带有c时表示文件长度以字节计。
    -nogroup 查找无有效所属组的文书,即该公文所属的组在/etc/groups中不设有
    -newer file1 !file2查找更换时间比文件file1新但比文件file2旧的文书
    -depth 先查找钦命目录有无相配文件,若无则再在子目录中找找
    -type 查找某一品类的公文,如
    b :块设备文件
    d:目录
    e:字符设备文件
    p;管道文件
    l:符号链接文件
    f:普通文书
    (3)find命令举个例子
    find -name “*.txt” -print 查找txt结尾的公文并出口到显示器上
    find /cmd “.sh” -print 查找/cmd目录下具备sh文件,并出口
    find . -perm 755 -print 查找当前目录下放权力限为755的文本,并出口
    find pwd -user root -print 查找当前目录下属主为root的文书,并出口
    find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件
    find /var -mtime -5 -print 查找/var目录下改造时间为5天内的持有文件
    find /var -mtime 5 -print 查找/var目录下改换时间为5天之前的装有文件
    find /var -newer “myfile1” ! -newer “myfile2” -print 查找/var目录下比myfile1新,不过比myfile2旧的全体文件。
    find /var -type d -print 查找/var目录下具备目录
    find /var -type l -print 查找/var目录下有所的符号链接文件。
    find . -size 一千000c -print 查找当前目录下抢先一千000字节的文本
    find / -name “con.file” -depth -print 查找根目录下有无”con.file”,若无则在其子目录中找找
    find . -type f -exec ls -l {} ; 查找当前目录下是或不是有一般性文书,若有则施行ls -l
    (4)xargs命令
    在 使用find命令的-exec选项管理相配到的公文时,find命令将具有匹配到的文件一同传递给exec。不幸的是,某个系统对能够传递给exec的命 令长度有限量,那样find命令运转几分钟过后便是出现溢出错误。错误新闻平日是“参数列太长”或“参数列溢出”。那就是xargs的用处所在,极度是与 find命令一道使用,exec会发起多少个经过,而xargs会多少个,唯有叁个
    find ./ -perm -7 -print | xargs chmod o-w 查找权限为7的文书并传递给chmod管理

    -ok 和 -exec的作用一样,只但是以一种越发安全的格局来实践该参数所付出的shell命令,在试行每四个发令在此之前,都会提交提醒,让用户来规定是或不是实施。
    options有如下二种:
    -name :根据文件名查找文件
    -perm :依据文件权限来查找文件
    -user :根据文件属主来查找文件
    -group :根据文件所属的组来查找文件
    -mtime -n n 遵照文件的改观时间来查找文件,
    -n代表文件改造时间至今后n天之内,
    n代表文件退换时间距未来n天从前。
    find命令还会有-atime 和-ctime选项,但它们都和-mtime选项相似。
    -size n[c]查找文件长度为n块的文本,带有c时表示文件长度以字节计。
    -nogroup 查找无有效所属组的文本,即该文件所属的组在/etc/groups中不设有
    -newer file1 !file2查找更换时间比文件file1新但比文件file2旧的文本
    -depth 先查找钦赐目录有无相配文件,若无则再在子目录中搜寻
    -type 查找某一种类的文书,如 b :块设备文件 d:目录 e:字符设备文件 p;管道文件 l:符号链接文件 f:普通文书
    (3)find命令比如
    find -name "*.txt" -print 查找txt结尾的公文并出口到显示器上
    find /cmd ".sh" -print 查找/cmd目录下有所sh文件,并出口
    find . -perm 755 -print 查找当前目录下权限为755的文本,并出口
    find 'pwd' -user root -print 查找当前目录下属主为root的文书,并出口
    find ./ -group sunwill -print 查找当前目录下所属主是sunwill的文件
    find /var -mtime -5 -print 查找/var目录下转移时间为5天内的兼具文件
    find /var -mtime 5 -print 查找/var目录下退换时间为5天在此从前的具备文件
    find /var -newer "myfile1" ! -newer "myfile2" -print 查找/var目录下比myfile1新,可是比myfile2旧的具有文件。
    find /var -type d -print 查找/var目录下全部目录
    find /var -type l -print 查找/var目录下有所的标识链接文件。
    find . -size 一千000c -print 查找当前目录下超越一千000字节的公文
    find / -name "con.file" -depth -print 查找根目录下有无"con.file",若无则在其子目录中寻找
    find . -type f -exec ls -l {} ; 查找当前目录下是还是不是有常见文书,若有则推行ls -l
    二、xargs命令
    在 使用find命令的-exec选项处理相配到的文件时,find命令将具备相称到的文书一同传递给exec。不幸的是,有个别系统对能够传递给exec的命 令长度有限量,那样find命令运营几分钟之后正是出现溢出荒谬。错误音讯常常是“参数列太长”或“参数列溢出”。
    那就是xargs的用途所在,非常是与 find命令一道行使,exec会倡导四个进程,而xargs会几个,唯有一个
    find ./ -perm -7 -print | xargs chmod o-w 查找权限为7的文本并传递给chmod管理
    三.grep介绍
    (1)grep 的形似格式为 grep [options] 基本正则表达式 [文件] 字符串参数最棒利用是双引号括,一是幸免被误解为shell命令,二是足以用来研究多个单词组成的字符串
    -c:只输出相称行的记数
    -i:不区分轻重缓急写(只适用于单个字符)
    -h:查询多少个文件时不展现文件名
    -H:只显示文件名
    -l:查询多文件时只输出包括相称字符的文书名
    -n:只呈现相配行及其行号
    -s:不显示不设有或无相配文本的错误消息。
    -v:显示不蕴含相配文本的具备行。
    (2)比如表明:
    grep [210] myfile 般配myfile中以非2、1、0开始的行
    grep "[5-8][6-9][0-3]" myfile 相配myfile中第一人为5|6|7|8,第肆个人6|7|8|9,第二个人为0|1|2|3的多少个字符的行
    grep "4{2,4}" myfile 匹配myfile中含有44,444或4444的行
    grep "?" myfile匹配myfile中包含任意字符的行
    (3)grep命令类名 [[:upper:]] 表示[A-Z] [[:alnum:]] 表示[0-9a-zA-Z] [[:lower:]] 表示[a-z] [[:space:]] 表示空格只怕tab键 [[:digit:]] 表示[0-9] [[:alpha:]] 表示[a-zA-Z] 如:grep "5[[:digit:]][[:digit:]]" myfile 相称myfile中含有5开首接下去两位都是数字的行。

    3.grep介绍

    (1)grep 的貌似格式为 grep [options] 基本正则说明式 [文件]
    字符串参数最佳利用是双引号括,一是谨防被误解为shell命令,二是能够用来搜寻多个单词组成的字符串
    -c:只输出相称行的记数
    -i:不区分轻重缓急写(只适用于单个字符)
    -h:查询八个公文时不展现文件名
    -H:只突显文件名
    -l:查询多文本时只输出包括相配字符的公文名
    -n:只展现相配行及其行号
    -s:不显示不存在或无相称文本的错误音讯。
    -v:彰显不分包相称文本的拥有行。
    (2)譬如表达:
    grep ^[^210] myfile 相称myfile中以非2、1、0起初的行
    grep “[5-8][6-9][0-3]” myfile 相配myfile中第一人为5|6|7|8,第四人6|7|8|9,第三人为0|1|2|3的八个字符的行
    grep “4{2,4}” myfile 匹配myfile中含有44,444或4444的行
    grep “?” myfile相配myfile中涵盖任性字符的行
    (3)grep命令类名
    [[:upper:]] 表示[A-Z]
    [[:alnum:]] 表示[0-9a-zA-Z]
    [[:lower:]] 表示[a-z]
    [[:space:]] 表示空格也许tab键
    [[:digit:]] 表示[0-9]
    [[:alpha:]] 表示[a-zA-Z]
    如:grep “5[[:digit:]][[:digit:]]” myfile 相称myfile中隐含5从头接下去两位皆以数字的行。

    四.awk介绍 能够从文件或字符串中基于钦赐规则浏览和收取消息,是一种自解释的变成语言。 (1)awk命令行格局 awk [-F filed-spearator] 'command' input-files awk脚本:全部awk命令插入八个文书,并使awk程序可进行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。awk脚本是由各类操作和形式组成。 格局部分决定动作语句哪天触发及触发事件。(BEGIN,END) 动作对数据开始展览管理,放在{}内指明(print)
    (2)分隔符、域和著录 awk推行时,其浏览域标志为$1,$2,...$n.这种措施成为域标志。$0为全体域。
    (3)举个例子表明:
    awk '{print $0}' test.txt |tee test.out 输出test.txt中具备行$0表示全部域
    awk -F : '{print $1} test.txt |tee test.out' 同上。。只是分隔符为":"
    awk 'BEGIN {print "IPDaten"}{print $1 "t" $4} END{print "end-of-report"}' test.txt 早先时打字与印刷“IPDate”结束时打字与印刷“end-of-report”中间打字与印刷主体消息,比方总共相配三条音信,则输出如下: IPDate 1 first 2 second 3 third end-of-report
    (4)相配操作符 ~ 匹配,!~ 不匹配
    cat test.txt |awk '$0~/210.34.0.13/' 匹配test.txt中为210.34.0.13的行
    awk '$0!~/210.34.0.13' test.txt 匹配test.txt中不是210.34.0.13的行
    awk '{if($1=="210.34.0.13") print $0}' test.txt 相称test.txt中首先个域为210.34.0.13的行。五、五、sed介绍
    sed不与初始化文件打交道,它操作的只是一个拷贝,然后全体的更换如若未有重定向到二个文件,将出口到荧屏。
    sed是一种很珍视的文件过滤工具,使用一行命令也许采用管道与grep与awk相结合。是一种非交互性文本流编辑。
    (1)调用sed的二种办法
    利用sed命令行格式为:sed [options] sed命令 输入文件 使用sed脚本文件格式为:sed[options] -f sed脚本文件 输入文件 sed脚本文件[options] 输入文件 --不管是采用shell命令行格局或脚本文件措施,若是未有一些名输入文件,sed从标准输入中收受输入,一般是键盘或重定向结果。
    (2)sed 命令的options如下 -n:不打字与印刷 -c:下一下令是编辑命令 -f:如若正在调用sed脚本文件
    (3)sed在文书中询问文本的法子 --使用行号,能够是一个总结的数字,或是三个行号的限定 --使用正则表明式
    (4)读取文本的艺术 x x为一行号 x,y 代表行号范围从x到y /pattern/ 查询包蕴形式的行 /pattern/pattern/ 查询包涵多个方式的行 pattern/,x 在加以的行号上询问包涵形式的行 x,/pattern/ 通过行号和情势查询相配行 x,y! 查询不带有钦命行号x和y的行
    (5)基本sed编辑命令 p 打字与印刷相称行 d 删除相称行 = 展现文件行号 a 在稳定行号后附加新文本新闻 i 在定点行号后插入新文本音讯 c 用新文本替换定位文本 s 使用替换方式替换相应形式 r 从另一个文本中读文件 w 写文本到二个文件 q 第一个情势相配达成后推出或及时退出 l 呈现与八禁止ASCII代码等价的决定字符 {} 在定位行试行的命令组 n 从另八个文件中读文件下一行,并附加在下一行 g 将格局2粘贴到/pattern n/ y 传送字符
    (6)比如表明: sed -n '2p' test.txt 打字与印刷第二行的信息(注意:-n是不打字与印刷不合作的新闻,若没加-n,则打字与印刷文件的具备新闻而不是匹配新闻) sed -n '1,4p' test.txt 打字与印刷第一行到第四行的新闻 sed -n '/los/p' test.txt情势相配los,并打字与印刷出来 sed -n '2,/los/p' test.txt 从第二行开端。。知道相配第二个los sed -n '/^$/p' test.txt 相称空行 sed -n -e '/^$/p' -e '/^$/=' test.txt 打字与印刷空行及行号 sed -n '/good/amorning' test.txt 在协作到的good前面附加morning sed -n '/good/imorning' test.txt 在分外到的good后边插入morning sed -n '/good/cmorning' test.txt 将合作到的good替换来morning sed '1,2d' test.txt 删除第1和2行 sed 's/good/good morning/g' test.txt 相配good并替换到goodmorning send 's/good/& hello /p' test.txt 相配到good就在其前边加上hello send 's/good/ hello &/p' test.txt 相配到good就在其眼下加上hello
    六.集结与分割(sort,uniq,join,cut,paste,split)
    (1)sot命令 sort [options] files 多数差异的域按分歧的列顺序排序 -c 测试文件是或不是业已排序 -m 合并多少个排序文件 -u 删除全部同一行 -o 存款和储蓄sort结果的出口文件名 -t 域分隔符,用非空格或tab发轫排序 n :n 为列号,使用此列号初始排序 -n 钦点排序是域上的数字分类项 -r 比较求逆 sort -c test.txt 测试文件是或不是分类过 sort -u test.txt 排序并联合同样的行 sort -r test.txt 以相反的顺序排列 sort -t "/" 2 test.txt 以"/"分隔,第二个域起首分类
    (2)uniq命令 uniq [options ] files 从三个文书文件中去除或取缔重复行 -u 只体现不另行行 -d 只展现有双重数据行,各种重复行只显示中间一行 -c 打字与印刷每一重复行出现次数 -f :n为数字,前n个域被忽视 uniq -f 2 test.txt 忽略前2个域
    (3)join 命令 join [options] file1 file2 用来以后自四个分类文本文件的行连在一齐-an,n为一数字,用于连接时从文件n中呈现不相称行 -onm ,连接域,n为文件号,m为域号 -jnm,n为文件号,m为域号,使用其他域作连接域 -t ,域分隔符。用来安装非空格或tab键的域分隔符。
    (4)split命令 split -output_file_size intput_filename output_filename 用来将大文件分割成小文件。 -b n,每一个分割文件的深浅n -C n,各样分割文件一行最多n字节 -l n,各类分割文件的行数 -n,同-l n split -10 test.txt 将test.txt分割成10行的小文件
    (5)cut 命令 cut -c n1-n2 filename 显示每行从上马算起 n1 到 n2 的文字。 cut -c 3-5 test.txt 显示test.txt中每行从第3到第5个字符

    4.awk介绍

    可以从文件或字符串中基于内定规则浏览和收取消息,是一种自解释的成为语言。
    (1)awk命令市场价格势 awk [-F filed-spearator] ‘command’ input-files
    awk脚本:全数awk命令插入三个文书,并使awk程序可进行,然后用awk命令解释器作为脚本的首行,以便通过键入脚本名称来调用它。awk脚本是由各类操作和格局组成。
    方式部分决定动作语句什么日期触发及触发事件。(BEGIN,END)
    动作对数据开始展览管理,放在{}内指明(print)
    (2)分隔符、域和著录
    awk试行时,其浏览域标识为1,2,…n.这种措施成为域标志。0为全数域。
    (3)譬喻表达:
    awk '{print $0}' test.txt |tee test.out 输出test.txt中具有行$0表示全部域

    awk -F : ‘{print $1} test.txt |tee test.out’

    同上。。只是分隔符为”:”

    awk ‘BEGIN {print “IPDaten”}{print 1"t"4} END{print
    “end-of-report”}’ test.txt

    开班时打字与印刷“IPDate”甘休时打字与印刷“end-of-report”中间打字与印刷主体音讯,比方总共相称三条音讯,则输出如下:
    IPDate
    1 first
    2 second
    3 third
    end-of-report
    (4)匹配操作符 ~ 匹配,!~ 不匹配
    cat test.txt |awk ‘0/210.34.0.13/′匹配test.txt中为210.34.0.13的行awk‘0!~/210.34.0.13’ test.txt 匹配test.txt中不是210.34.0.13的行
    awk ‘{if(1=="210.34.0.13")print0}’ test.txt 相称test.txt中第贰个域为210.34.0.13的行。

    5.sed介绍

    sed不与先导化文件打交道,它操作的只是三个正片,然后全体的变动假诺未有重定向到贰个文书,将出口到显示屏。
    sed是一种很关键的文件过滤工具,使用一行命令只怕使用管道与grep与awk相结合。是一种非交互性文本流编辑。
    (1)调用sed的两种办法
    采用sed命令行格式为:sed [options] sed命令 输入文件
    利用sed脚本文件格式为:sed[options] -f sed脚本文件 输入文件
    sed脚本文件[options] 输入文件
    –不管是利用shell命令行情势或脚本文件格局,如若未有一点名输入文件,sed从职业输入中接受输入,一般是键盘或重定向结果。
    (2)sed 命令的options如下
    -n:不打印
    -c:下一指令是编制命令
    -f:如果正在调用sed脚本文件
    (3)sed在文件中查询文本的法子
    –使用行号,可以是贰个粗略的数字,或是叁个行号的限量
    –使用正则表明式
    (4)读取文本的艺术
    x x为一行号
    x,y 代表行号范围从x到y
    /pattern/ 查询包括情势的行
    /pattern/pattern/ 查询包蕴四个形式的行
    pattern/,x 在加以的行号上询问包罗格局的行
    x,/pattern/ 通过行号和情势查询相称行
    x,y! 查询不分包钦赐行号x和y的行
    (5)基本sed编辑命令
    p 打字与印刷相称行
    d 删除匹配行
    = 彰显文件行号
    a 在定点行号后附加新文本消息
    i 在固定行号后插入新文本音讯
    c 用新文本替换定位文本
    s 使用替换格局替换相应形式
    r 从另壹个文件中读文件
    w 写文本到贰个文件
    q 第一个形式相称达成后推出或及时退出
    l 显示与八禁止ASCII代码等价的调整字符
    {} 在固定行实施的命令组
    n 从另贰个文件中读文件下一行,并附加在下一行
    g 将模式2粘贴到/pattern n/
    y 传送字符
    (6)比如表明:
    sed -n ‘2p’ test.txt 打字与印刷第二行的消息(注意:-n是不打字与印刷不匹配的音信,若没加-n,则打印文件的享有音信而不是十分消息)
    sed -n ‘1,4p’ test.txt 打字与印刷第一行到第四行的新闻
    sed -n '/los/p' test.txt 方式匹配los,并打字与印刷出来
    sed -n ‘2,/los/p’ test.txt 从第二行开端。。知道匹配第二个los
    sed -n ‘/^$/p’ test.txt 相配空行
    sed -n -e '/^$/p' -e '/^$/=' test.txt 打字与印刷空行及行号
    sed -n ‘/good/amorning’ test.txt 在协作到的good前边附加morning
    sed -n ‘/good/imorning’ test.txt 在非常到的good前边插入morning
    sed -n ‘/good/cmorning’ test.txt 将协作到的good替换到morning
    sed ‘1,2d’ test.txt 删除第1和2行
    sed ‘s/good/good morning/g’ test.txt 相配good并替换到goodmorning
    send ‘s/good/& hello /p’ test.txt 相配到good就在其背后加上hello
    send ‘s/good/ hello &/p’ test.txt 般配到good就在其日前加上hello

    6.联合与区划(sort,uniq,join,cut,paste,split)

    (1)sot命令
    sort [options] files 许多例外的域按差别的列顺序排序
    -c 测试文件是不是业已排序
    -m 合并五个排序文件
    -u 删除全部同一行
    -o 存储sort结果的出口文件名
    -t 域分隔符,用非空格或tab起始排序
    n :n 为列号,使用此列号初始排序
    -n 内定排序是域上的数字分类项
    -r 比较求逆
    sort -c test.txt 测试文件是不是分类过
    sort -u test.txt 排序并联合一样的行
    sort -r test.txt 以相反的顺序排列
    sort -t “/” 2 test.txt 以”/”分隔,第二个域开首分类 (2)uniq命令
    uniq [options ] files 从多少个文件文件中去除或禁止重复行
    -u 只展现不重复行
    -d 只展现有重新数据行,每一种重复行只彰显中间一行
    -c 打字与印刷每一重复行出现次数
    -f :n为数字,前n个域被忽视
    uniq -f 2 test.txt 忽略前2个域
    (3)join 命令
    join [options] file1 file2 用来以往自多少个分类文本文件的行连在联合
    -an,n为一数字,用于连接时从文件n中展现不相配行
    -onm ,连接域,n为文件号,m为域号
    -jnm,n为文件号,m为域号,使用别的域作连接域
    -t ,域分隔符。用来安装非空格或tab键的域分隔符。
    (4)split命令
    split -output_file_size intput_filename output_filename
    用来将大文件分割成小文件。
    -b n,各类分割文件的大小n
    -C n,种种分割文件一行最多n字节
    -l n,每一个分割文件的行数
    -n,同-l n
    split -10 test.txt 将test.txt分割成10行的小文件
    (5)cut 命令
    cut -c n1-n2 filename 展现每行从开头算起 n1 到 n2 的文字。

    cut -c 3-5 test.txt 彰显test.txt中每行从第3到第5个字符

     

     

    命令为: *find . |xargs grep -ri bspSetPonTxDisable -l* 查找目录下的具有文件中是否含有...

    本文由新葡亰496net发布于服务器网络,转载请注明出处:linux查找目录下的保有文件中是或不是带有有些字

    关键词: