美文网首页
Linux常见文本处理工具

Linux常见文本处理工具

作者: 单纯小码农 | 来源:发表于2020-03-23 21:36 被阅读0次

    常见文本处理工具

    vim/less

    tips: 不要用 vim 看日志文件,特别是大文件,可能生成临时文件

    1. :w,:q,:x;i,o,r,x,u,ctrl + r
    2. h,j,k,l vs ,,,
    3. ctrl + b,ctrl + f vs PgUp,PgDn
    4. 0 - 移动到行首 and $ - 移动到行尾
    5. H - 移动到当前页面顶部, L - 移动到当前页面底部 and gg - 移动到文件第一行, G - 移动到文件最后一行
    6. 5G - 移动到第五行
    7. c$ Da - 从光标位置开始, 修改当前行
    8. yyp - 复制当前行并在光标后粘贴 and 试试 2yyP
    9. dd - 剪切当前行
    10. w - 移动到下个单词开头 and b - 移动到上个单词结尾 不含标点
    11. /pattern,?pattern - 查找 and n,N
    12. :%s/old/new/gc - (逐个)替换

    grep

    1. ps aux | grep
    2. -A,B,C - 相关上下文
    3. -v
    4. -E

    awk

    1. 取指定列 - echo "a b c" | awk '{print $2}'
    2. 取指定行 - echo -e "a b c\n 1 2 3" | awk 'NR==2 {print}'
    3. 按列求和 - echo -e "1 2 3\n1 2 3\n1 2 3" | awk '{s1+=1;s2+=2;s3+=$3}END{print s1,s2,s3}'
    4. 列按条件过滤 - netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
    5. 列转行 - echo -e "1\n2\n3" | awk '{ORS=" ";print}'

    sed

    1. 删除某行 - sed -i '1,3d' a.txt
    2. 删除匹配行 - sed -i '/^$/d' a.txt
    3. 匹配行替换匹配字符 - sed -i "/logger name=\"com.darcytech\"/ {s/INFO/DEBUG/g}" aa.txt

    相关文章

      网友评论

          本文标题:Linux常见文本处理工具

          本文链接:https://www.haomeiwen.com/subject/hpmgyhtx.html