
参考linux字节流相关工具.csdn常用文本处理命令diffgrepsedawkfindsortlessvimdiff两个文件old.c#includestdio.hintmain(){printf(hello\n);return0;}new.c#includestdio.hintmain(){printf(llo\n);printf(word \n);return0;}1. diff比较文件差异1.1 基本用法diffold.c new.cdiff 用于比较两个文件的差异。常见输出5c5,6 printf(hello\n); --- printf(llo\n); printf(word \n);含义表示旧文件内容表示新文件内容1.2 生成统一格式 diffdiff-uold.c new.c统一格式更适合作为 patch--- old.c new.c -2,6 2,7 int main() { - printf(hello\n); printf(llo\n); printf(word \n); return 0; }1.3 生成 patch 文件diff-uold.c new.cfix.patch应用patchfix.patch2. Git diffGit中的代码差异注意diff是独立命令git diff是 Git 子命令。查看修改gitdiff输出diff --git a/new.c b/new.c index xxxxx..yyyyy 100644 --- a/new.c b/new.c - old new其中diff --git a/file b/file是 Git patch 格式不是执行命令。3. vimdiff可视化比较文件vimdiff old.c new.c适合代码比较配置修改查看差异4. grep搜索文本神器基本搜索grephello old.c显示行号grep-nhello old.c递归搜索grep-rnhello.忽略大小写grep-ihello.5. rggrep 的现代替代品ripgreprghello搜索源码rgaxi_dma指定文件类型rgCONFIG_DMA-tc6. less查看大文件查看日志lesslog.txt内核日志dmesg|less常用快捷键按键 功能q 退出/xxx 搜索n 下一个g 开头G 结尾7. head / tail查看前几行head-n50file查看最后内容tail-n100file实时查看tail-fapp.log8. sed文本替换工具替换seds/old/new/gfile直接修改sed-is/old/new/gfile常用于内核配置PetaLinux 配置脚本修改9. awk文本分析神器按列输出ps|awk{print $1,$2}查看内存cat/proc/meminfo|awk/MemTotal/10. cut按列切割cut-d:-f1/etc/passwd11. sort排序普通排序sortfile数字排序sort-nfile倒序sort-nrfile12. uniq去重统计去重sortfile|uniq统计sortfile|uniq-c13. find查找文件查找find.-name*.c查找 patchfind.-name*.patch查找大文件find.-size100M14. xargs批量执行例如删除目标文件find.-name*.o|xargsrm15. wc统计文本统计行数wc-lfile统计字符wc-cfile16. Linux 内核 / PetaLinux 常用组合搜索源码grep-rnprobedrivers/搜索 DMArgaxi_dma查看设备树grep-rnaxi*.dts查看日志dmesg|grepdma查看进程psaux|grepvtcplay总结Linux 文本工具核心组合搜索grep / rg比较diff / vimdiff修改sed分析awk过滤cut / sort / uniq查找find查看less / head / tail