单行脚本
一些敕令组合的例子:
当你须要对文本文件做集合交、并、差运算时, sort 和 uniq 会是你的好副手。具编制子请参照代码后面的,此处假设 a 与 b 是两内容不呵9依υ?件。这种方法效力很高,并且在小文件和上 G 的文件上都能应用(留意尽管在 /tmp 在一个小的根分区上时你可能须要 -T 参数,然则实际上 sort 并不被内存大年夜小束缚),参阅前文中关于 LC_ALL 和 sort 的 -u 参数的部分。
- cat a b | sort | uniq > c # c 是 a 并 b
- cat a b | sort | uniq -d > c # c 是 a 交 b
- cat a b b | sort | uniq -u > c # c 是 a - b
应用 grep . * (每行都邑附上文件名)或者 head -100 * (每个文件有一个标题)来浏览检查目次下所有文件的内容。这在检查一个充斥设备文件的目次(如 /sys 、 /proc 、 /etc )时特别好用。
计算文本文件第三列中所稀有的和(可能比一致感化的 Python 代码快三倍且代码量少三倍):
- find . -type f -ls
假设你有一个类似于 web 办事器日记文件的文本文件,并且一个肯定的值只会涌如今某些行上,假设一个 acct_id 参数在 URI 中。如不雅你想计算出每个 acct_id 值有若干次请求,应用如下代码:
- cat access.log | egrep -o 'acct_id=[0-9]+' | cut -d= -f2 | sort | uniq -c | sort -rn
- 要持续监测文件修改,可以应用 watch ,例如检查某个文件夹中文件的改变,可以用 watch -d -n 2 'ls -rtlh | tail' ;或者在排查 WiFi 设置故障时要监测收集设置的更改,可以用 watch -d -n 2 ifconfig 。
- 运行这个函数大年夜这篇文档中随机获取一条技能(解析 Markdown 文件并采取项目):
- function taocl() {
- curl -s https://raw.githubusercontent.com/jlevy/the-art-of-command-line/master/README-zh.md|
- pandoc -f markdown -t html |
- iconv -f 'utf-8' -t 'unicode' |
- xmlstarlet fo --html --dropdtd |
- xmlstarlet sel -t -v "(html/body/ul/li[count(p)>0])[$RANDOM mod last()+1]" |
- xmlstarlet unesc | fmt -80
- }
冷门但有效
- expr :计算表达式或正则匹配
- m4 :简单的宏处理器
- yes :多次打印字符串
- cal :漂亮的日历
- env :履行一个敕令(脚本文件中很有效)
- printenv :打印情况变量(调试时或在写脚本文件时很有效)
- look :查找以特定字符串开首的单词或行
- cut , paste 和 join :数据修改
- fmt :格局化文本段落
- pr :将文本格局化成页/列情势
- fold :担保文本中的几行
- column :将文本格局化成多个对齐、定宽的列或表格
- expand 和 unexpand :制表符与空格之间转换
- nl :添加行号
- seq :打印数字
- bc :寂?骥
- factor :分化因数
- gpg :加密并签名文件
- toe :terminfo 人口列表
- nc :收集调试及数据传输
- socat :套接字代劳,与 netcat 类似
- slurm :收集流量可视化
- dd :文件或设备间传输数据
- file :肯定文件类型
- tree :以树的情势显示路径和文件,类似于递归的 ls
- stat :文件信息
- time :履行敕令,并计算履行时光
- timeout :在指准时长范围内履行敕令,并在规准时光停止后停止过程
- lockfile :使文件只能经由过程 rm -f 移除
推荐阅读
如不雅让 办事器3000 上的页面向 办事器 3001 提议请求会如何呢?浏览器的同源策略,出于防备跨站脚本的进击,禁止客户端脚本(如 JavaScript)对不合域的办事进行跨站调用。一般的,只要网站>>>详细阅读
地址:http://www.17bianji.com/lsqh/35418.html
1/2 1