linux三剑客

时间:2023-03-08 17:13:56
linux三剑客

grep

grep       "oldboy"     test.txt   过滤掉文件中oldboy的字符串

-v                                     排除选中字符

egrep  "3306|1521"  /etc/services   过滤出3306或1521两数字所在的行

awk

        awk   '/oldboy/'   test.txt                '/    /'              过滤出选中的字符

'!/  /'                ! awk中表示取反排除选中的字符

awk   'NR==20'  /oldboy/ett.txt    'NR==20'       取行    'NR==20,NR==30'取出20-30行

        awk  -F  "[, ]"   '{print $3,$6}'   oldboy.txt        -F  '[    ]'  指定分隔符 -F  '[    ]+'  指定连续分割

'{print    $3,$6}'  取分割后的第三列和第六列

sed

        sed    '/oldboy/d'   test.txt           '/   /d'                 排除选中的字符  d表示删除  -i 生效删除选中内容

        sed  -n  '20p'   /oldboy/ett.txt      -n  '20p'            取行

-n  '20p,30p'    取20到30行

        sed      's#oldboy#oldgirl#g'   /oldboy/t.sh          's#找谁#替换为什么#g' 替换文件内容

sed  -i  's#oldboy#oldgirl#g'   /oldboy/t.sh          -i 生效替换内容=修改文件内容