精华内容
下载资源
问答
  • linux精确匹配字符

    千次阅读 2018-09-30 18:03:54
    1,问题:现有一text.txt文本内容如下:  ni hao ma n  yin gn n nin 现要用 'en' 将单个单词 n(下划线)替换掉   尝试的方法一:  sed -i 's/n/en/g' text.txt 结果:  eni hao ma en  yien gen en...

    1,问题:现有一text.txt文本内容如下:

        ni hao ma n

        yin gn n nin

    现要用 'en'  将单个单词 n(下划线)替换掉

     

    尝试的方法一:

      sed  -i 's/n/en/g' text.txt

    结果:

        eni hao ma en

        yien gen en enien

    也就是所有的n字符都被替换,而我希望的是仅仅是单词n(下划线所指)被替换

     

    尝试方法二:

       sed -i 's/ n / en /g' text.txt          在n 和en两边加了两个空格

    结果:

         ni hao ma n

         yin gn en nin

      出现的问题是第一行最后一个单词n未被替换

     

    网上找了好久,终于找到精准匹配和替换的方法:

        sed -i 's/\<n\>/en/g'  text.txt

     结果如下:

     

        ni hao ma en

        yin gn en nin

    --------------------- 本文来自 yychenxie21 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/chenxieyy/article/details/52919009?utm_source=copy

    展开全文
  • 1 字符串的更具字符分割 1) xargs分割 echo "chenyu*hello*word" | xargs -d "*" chenyu hello word 2)awk分割 echo "chenyu*hello*word" | awk -F "*" '{print $1}' chenyu 2字符串的删除字符...

    1  字符串的更具字符分割

    1) xargs分割

    echo "chenyu*hello*word" | xargs -d "*"
    chenyu hello word

     

    2) awk分割

    echo "chenyu*hello*word" | awk -F "*" '{print $1}'
    chenyu

     

     

     

     

     

    2 字符串的删除字符

    1)用tr命令

    echo "chenyu ni hao ya" | tr -d 'y' 
    chenu ni hao a

    2)用sed命令

    echo  "hello*word*word" | sed 's/*//g'
    hellowordword

     

     

     

     

     

     

     

     

    3 文本内容的删除

    用sed命令

    cat 1.txt
    chenyu
    nihao
    hello
    word
    chenyu
    nihao
    dongma
    sed -i '/chenyu/d' 1.txt
    cat 1.txt
    nihao
    hello
    word
    nihao
    dongma

     

     

     

     

     

     

     

     

     

     

    4 grep -q 用于if逻辑判断

    -q 参数,本意是 Quiet; do not write anything to standard output. Exit immediately with zero status if any match is found, even if an error was detected.  中文意思为,安静模式,不打印任何标准输出。如果有匹配的内容则立即返回状态值0

    自己测试如下

    #/bin/bash
    
    value="chenyu ni hao ya"
    
    #匹配成功执行$?返回0
    echo "hello" | grep -q "he";
    echo $?
    #匹配失败执行$?非0
    echo "hello" | grep -q "hehelodaf";
    echo $?
    
    #如果能匹配成功那么就到then反之到else
    if echo $value | grep -q "chenyuddsa"; 
    then
       echo "first success" 
    else
       echo "first fail"
    fi
    
    
    if echo $value | grep -q "hao"; 
    then
       echo "second success" 
    else
       echo "second fail"
    fi

    允许结果如下:

    ./grep.sh
    0
    1
    first fail
    second success
    

     

     

     

     

     

     

     

    5 grep -i(忽略大小写)来判断结果

    #/bin/bash
    
    value="chenyu"
    echo $value | grep -i "chen" > /dev/null
    
    if [ $? -eq 0 ];
    then
    	echo "grep success"
    else
    	echo "grep fail"
    fi
    
    echo $value | grep -i "chengongyu" > /dev/null
    
    if [ $? -eq 0 ];
    then
    	echo "grep success"
    else
    	echo "grep fail"
    fi
    
    
    
    
    

    运行结果

    grep success
    grep fail

     

    展开全文
  • linux查找、匹配、更改文件字符

    千次阅读 2018-12-13 00:42:34
    查找目录下的所有文件中是否含有某个字符串 ...(1)正则表达式一般用来描述文本模式的特殊用法,由普通字符(例如字符a-z)以及特殊字符(称为元字符,如/、、?等)组成。 (2)基本元字符集及其含义 ^ :只匹...

    查找目录下的所有文件中是否含有某个字符串
    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 +1000000c -print 查找当前目录下大于1000000字节的文件
    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,...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 “IPDate\n”}{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/a\morning’ test.txt 在匹配到的good后面附加morning
    sed -n ‘/good/i\morning’ test.txt 在匹配到的good前面插入morning
    sed -n ‘/good/c\morning’ 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个字符

    转自:https://blog.csdn.net/duguduchong/article/details/7716908

    展开全文
  • 文本a.cfg大致如下:  "export": {  "table": [  {  "cb": "default",  "fn": "T_ORDER.csv",  "sql": "select f_order_no, f_inst_id from t_order where f_apply_date = '%s'",

    注:由于编码问题 \括弧 会被转义,因此本文中写成 \空格括弧

    文本a.cfg大致如下:

      "export": {
        "table": [
          {
            "cb": "default",
            "fn": "T_ORDER.csv",
            "sql": "select f_order_no, f_inst_id from t_order where f_apply_date = '%s'", 
            "type": "1"
          },
          {
            "cb": "default",
            "fn": "T_MATCH.csv",
            "sql": "select f_match_no, f_buy_or_sell, f_client_id, f_seat_id, f_inst_id, f_match_date, f_match_time, f_price, from t_match where f_match_date = '%s'", 
            "type": "1"
          },
          ……
          ……
    }


    目的:cfg文本中有很多sql项,想要对数据库表进行select操作,我们想通过一个脚本处理得到所有被select的表名列表


    注意到select ...... from+空格后面紧跟的就是表名,可以用正则表达式匹配得到

    很快就能想到使用Python正则表达式中的“组”,匹配前面的select from内容,然后用“组”打印表名

    fileContent=file("a.cfg").read()
    re.findall(r"select.*from (\w+)", fileContent)



    但是如果使用shell,应该如何完成相同的功能呢?

    先尝试了grep,就算使用-o,也只是打印匹配到的key的内容,而不能打印匹配到内容的前后文,因此放弃。

    后来注意到sed有相似的组\ (..\ ) 用法:

    保存匹配的字符,如s/\ (love\ )able/\1rs,loveable被替换成lovers。 
    sed 's/keywords\ (pattern1\ )\ (pattern2\ )/\1\2/ #匹配keywords(pattern1)(pattern2),并将其替换为pattern2和pattern1匹配到的内容



    于是开始尝试

    1. sed 's/select.*from (\w+)/\1/' app_bac_tbl.cfg


    报错:sed:-e 表达式 #1,字符 24:“s”命令的RHS非法引用\1。

    原因:组匹配括弧前要加反斜杠\ (...\ ),修改后再次尝试


    2. sed 's/select.*from \ (\w+\ )/\1/' app_bac_tbl.cfg


    发现把整个cfg文件打印了一遍,于是使用sed -n 加上p的用法,修改后再次尝试


    3. sed -n 's/select.*from \ (\w+\ )/\1/p' app_bac_tbl.cfg


    发现什么都没打印,也就是什么都没匹配到

    原因:sed中使用+表示匹配一次或多次时,前要加反斜杠\转移,否则sed会认为是要匹配字符'+',由于cfg的表名中没有+,自然就匹配不到,修改后再次尝试


    4. sed -n 's/select.*from \ (\w\+\ )/\1/p' app_bac_tbl.cfg


    发现它将匹配到并替换后的行打印出来了,例如:

            "sql": "t_order where f_apply_date = '%s'", 

            "sql": "t_match where f_match_date = '%s'", 

    因为我们只想打印表名,那么就把行中表名以外的其它内容都匹配,然后替换成表名,修改后再次尝试


    5. sed -n 's/.*select.*from \ (\w\+\ ).*$/\1/p' app_bac_tbl.cfg


    得到我们想要的结果:

    t_order

    t_match

    ……

    ……


    如果有其它更好用的方法,欢迎交流~

    展开全文
  • grep(global regular expression print)是linux中最强大的文本搜索命令之一,常用于搜索文本文件中是否含有某些特定模式的字符串。该命令以行为单位读取文本并使用正则表达式进行匹配匹配成功后打印出该行文本。...
  • --color : 匹配到的字符用颜色标亮 -E : 表示用正则表达式进行匹配搜索 grep --color -E "le\b" Harry.txt \b:词界符。该语句表示le必须位于一个有意义的单词的最后方 grep --color -E "\b[Mm]uggle." Harry....
  • Linux文本处理三剑客之grep 正则表达式 扩展正则表达式 文本过滤grep 一、正则表达式 正则表达式:REGEXP(Regular Expressions):由元字符及文本字符编写的模式(pattern) 正则表达式:用来检索、替换符合某个...
  • linux文本处理

    2018-03-31 02:10:09
    字符匹配 * #匹配0到任意字符 ? #匹配单个字符 [[:alpha:]] #匹配单个字母 [[:lower:]] #匹配单个小写字母 [[:upper:]] #匹配单个大写字母 [[:digit:]] #匹配单个数字 [[:alnum:]] #匹配单个数字或字母 ...
  • Linux下快速替换文本中的字符

    千次阅读 2017-10-22 00:35:41
    Linux下快速替换文本中的字符串 替换单个文本中的所有字符串 方法1: 使用vim打开文本文件 cyf@ubuntu:~$ vim test.txt 使用vim中的替换命令:%s/原字符串/替换字符串/gg 方法2: cyf@ubuntu:~$ sed -i 's/原...
  • 图中的例子就是统计文本中”hello”字符串出现的次数 2.GREP配合wc命令 grep -o "hello" demo.log | wc -l 如下图: 另外附上几个grep常用的参数: -c 只显示有多少行匹配 ,而不具体显示匹配的行 -i 在字符串比较...
  • Linux文本搜索命令

    2020-08-03 22:47:00
    Linux文本搜索命令 一、grep 1、作用: ​ grep (全称:Global Regular Expression Print,译为:全局正则表达式打印 )是 Linux 系统中一种强大的文本搜索命令或者说工具,所以它能与正则表达式一起使用来搜索...
  • Linux文本处理

    2018-05-29 20:08:55
    一、正则表达式 二、grep [选项] [文件] 一、正则表达式 ... RE字符 ... 转义字符 ... 通配符,一个字符,包括空格 ... 匹配紧挨在前面的字符任意次(0,1,多次) .* 匹配任意长度的任意字符 \? *匹配...
  • Linux文本处理三剑客

    2018-11-29 18:06:58
    字符匹配: 次数匹配: 位置锚定: 扩展的正则表达式元字符: 字符匹配: 次数匹配: 位置锚定: 一、grep 1.作用 2.用法及常用选项 练习1 3.egrep 练习2 4. fgrep 二、sed 1.常用选项 2.地址定界 3...
  • linux文本处理三剑客之grep命令1. grep命令的用法2. 使用举例 1. grep命令的用法 作用:grep命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本进行匹配检查,打印匹配到的行 模式:由正则表达式或者...
  • Linux 文本搜索命令

    2020-09-01 20:34:04
    显示不包含匹配文本的所有行 grep命令结合正则表达式的使用 正则表达式 说明 ^ 以指定字符串开头 $ 以指定字符串结尾 . 匹配一个非换行的字符 文本搜索命令的使用 忽略大小写并显示行号在文件b.txt...
  • Linux文本处理工具

    2020-12-22 15:08:22
    文本处理三剑客 grep: 文本过滤工具 sed: stream editor,流编辑器,文本编辑器 ...–color=auto:对匹配上的文本着色后高亮显示 -i: ignorecase, 忽略字符大小写 -o: 仅显示匹配字符串本身 -v, --inve
  • Linux】grep 匹配多个关键字

    万次阅读 2018-12-11 18:57:04
    grep 命令非常常用,经常用于匹配文本字符。 一般情况下,grep 命令只能匹配一个关键字,怎么实现匹配多个关键字呢? 下面看几种情况: 1、 grep ‘字符串’ 这是最普通的使用方式: 匹配文件中包含 MANPATH 的那一...
  • linux 文本过滤-grep

    2019-01-18 20:59:00
    字符匹配: .:匹配任意单个字符 []:匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数 *:匹配前面的字符...
  • Linux文本三剑客之grep

    2016-05-16 11:45:41
    打印匹配到的行模式:由正则表达式字符及文本字符所编写的过滤条件REGEXP:由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或通配的功能分两类:基本正则...
  • Linux 正则表达式动态查找匹配操作符 转义字符 . 匹配任意单个字符 [1249a],[^12],[a-k] 字符序列单字符占位 ^ 行首 $ 行尾 <,>:<abc 单词首尾边界 | ...
  • linux 文本分析

    2015-04-22 15:09:00
    grep 主要是选取整个文章中匹配字符所在的行。sed 也可以读出整个文章中匹配字符所在行,同时也可以进行删除和替换等操作。awk 是选取文章中匹配字符的所在列,同时也可以进行一些操纵。 转载于:...
  • linux文本处理三剑客

    2019-08-14 15:08:10
    -o: 仅显示匹配到的字符串 -q: 静默模式,不输出任何信息 -A #: 后#行 -B #: 前#行 -C #: 前后各#行 -E: 使用ERE,相当于egrep 二、sed(文本流编辑) 常用参数 -n: 只打印模式匹配的行 -e: 直接在命令行模式上进行...
  • Linux文本处理命令

    千次阅读 2015-07-24 10:11:19
    正则表达式POSIX标准将正则表达式分为两类 1.基本的正则表达式 2.扩展的正则表达式 ... 匹配任意字符 ^ 行首,在[]中表示非 $ 行尾 [] 匹配字符集合 \ 转义字符 \ 精确匹配符号 \{n\} 匹配n次 \
  • linux 文本过滤工具grep

    2019-01-03 23:31:11
    grep Global search Regular expression and print out the ...模式:由正则表达式的元字符及文本字符所编写出的过滤条件。 正则表达式的实现:正则表达式引擎 格式 grep [OPTIONS] PATTERN [FILE...] grep [OPT...
  • --color=auto:对匹配到的文本着色显示 -v:反向选择 -i:忽略字符大小写 -n:显示匹配的行号 -c:统计匹配的行数 -o:仅显示匹配到的字符串 -q:静默模式,不输出任何信息 -A#:after,后#行 -B#:before,前#行 -C#:context,...
  • Linux文本处理三剑客:grep sed ...作用:文本搜索工具,根据用户指定的筛选条件对目标文本进行匹配检查并打印出符合条件的的行模式:由正则表达式的元字符及文本字符所编写出的过滤条件;使用:grep [OPTIONS] P...
  • Linux字符处理

    2016-01-26 12:37:55
    1.1 管道 管道就是一个固定大小的缓冲区,该缓冲区的大小为一页,即4k 字节。...命令:grep [-ivnc] ‘需要匹配字符’ 文件名 # -i 不区分大小写 # -c 统计包含匹配的行数 # -n 输出行号 # -v 反向匹配

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,538
精华内容 615
关键字:

linux文本字符匹配

linux 订阅