IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

GNU工具箱

笔记 by 车东 2009-10-27 15:26:59 累计浏览 3,633 次
本机暂存

内容摘要:
GNU很推崇“工具箱”哲学:很多复杂的问题都可以通过几个更简单的工具通过一定的组合加以解决的。

shell 脚本本身的一些变量: $_ shell环境名称 如 /bin/sh ; $0 shell脚本本身,如 test.sh ; $1 $2 ..$9 命令行参数 test.sh -a -b 的$1 = -a $2 = -b

编辑器:VI pico emacs

vi中显示行号: :set nu
去文件尾部:G
去行尾 $
添加 i a
删除 x

脚本和行文字处理

给文件批量加前缀:
先用awk生成命令列表:
ls -1 *|awk '{print "uniq -c "$1" pre_"$1"|sort -rn"}' > batch_rename.sh

然后执行生成的脚本:
sh batch_rename.sh

我的每月访问TOP10 统计脚本:
awk -F '\t' '{print $4}' 2004_2.txt| grep chedong.com/tech/|sort |uniq -c|sort -rn|head -10
awk -F '\t' 用TAB分割;
grep chedong.com/tech 只列出笔记目录下的文档;
sort 排序
uniq -c 汇总计数
sort -rn 按数值排序
head -10 TOP 10

我的每月来源TOP10统计脚本:
grep --binary-files=text chedong.com 2004_2.txt |awk -F '\t' '{print $3}'| awk -F '/' '{print "http://"$3}'|grep -v chedong.com|sort|uniq -c |sort -rn|head -10
grep --binary-files=text 强制按text文本处理
awk -F '\t' 用TAB分割;
awk -F '/' 获得域名;
grep -v chedong.com 排除自身网站;
sort 排序
uniq -c 汇总计数
sort -rn 按数值排序
head -10 TOP 10

grep 打印上下文5行
grep -A 5 -B 5 sometext my.file

去掉#开头的注释,如:apache的httpd.conf
grep -v "#" filename

打印大文档中的某一行:
sed -n 1234p access_log

将每4行数据变成一行
pr -a -J -T --columns=4 source.log
-a 横向输出
-J 合并成行
-T 忽略页头和页尾
--columns=4 每4个单元一次

已一些

同分类推荐文章

  1. 科技爱好者周刊(第 401 期):如何赚到10亿美元 (2026-06-26 08:05:38)
  2. 如何做决策 - 从 Go 的一个 issue 说起 (2026-06-26 08:00:00)
  3. Seven Player:Windows上播放115网盘视频的增强工具 (2026-06-09 00:06:47)

查看更多 开发者 文章 →

建议继续学习

  1. Git常用命令备忘 (累计阅读 54,699)
  2. Bash的模式和配置文件加载 (累计阅读 24,410)
  3. 简明Vim练级攻略 (累计阅读 22,276)
  4. 28个Unix/Linux的命令行神器 (累计阅读 16,791)
  5. 我常用的主机监控shell脚本 (累计阅读 13,433)
  6. find命令的一点注意事项 (累计阅读 11,865)
  7. 100个常用的linux命令 (累计阅读 11,607)
  8. Linux命令行里的“瑞士军刀” (累计阅读 11,585)
  9. 每个程序员都应该知道的8个Linux命令 (累计阅读 10,745)
  10. colortail,让 tail 命令绚丽起来 (累计阅读 10,259)