Linux常见文本处理工具

2020-03-23  本文已影响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
上一篇下一篇

猜你喜欢

热点阅读