2022年2月

sed 与 awk 的拷与问

灵魂拷问:sed 与 awk 分别是什么,有什么用?
sed 全称 stream editer,是一个流编辑器。所谓流编辑就是在执行命令时,可以动态修改文件的一种技术。
awk 是三位创始人的姓氏的拼合,这是一个强劲的文本处理和格式化报表工具。

sed 与 awk 并不会改动原始文件,而是将符合规则的每一行内容显示到标准输出中


// data.txt
hello world ###
wlmqtc.com
today is friday
aaa aaaa aaa
bbb bbbbb bb
cccc cccc ccc
ddd ddddd ddd

以上是一个示例文件 data.txt

sed 小例子

显示包含字符串 wlmq 的行
sed -n /wlmq/p data.txt

删除 1-3 行
sed '1,3d' data.txt

替换 将所有 a 修改为 A
sed s/a/A/g data.txt

awk 小例子

显示包含字符串 wlmq 的行
awk /wlmq/ data.txt

打印指定列,如第一列和第三列
awk '{print $1,$3} data.txt
注意: awk 中,列的初始值是从 1 开始的,正如所见 $1,那如果一行有 10 列,难道我要从 $1 写到 $10 不成?真傻,这不就是打印完整行么? $0 就表示当前行

打印完整的一行 $0
awk '{print $0} data.txt

指定分割符 -F
awk -F# '{print $1,$3} data.txt
由于awk的默认分割符号是空格,所以可以使用-F#将分割符指定为#

啥是 curl

culr 全称 client url,是一个用于 url 请求的客户端命令行小工具,配合 linux 很好用


curl 命令参考小例子

默认的请求 GET
curl www.wlmqtc.com

使用默认的请求转换为POST -d "data"
curl -d id=100 www.wlmqtc.com

其他请求,如:PUT DELETE -X -d {}
curl -X PUT -d {"id":100} www.wlmqtc.com

加一些请求头 -H
curl -H content-type:application/json -H my-custom:custom-header www.wlmqtc.com

显示通信详细信息 -v(--verbose)
curl -v www.wlmqtc.com

将服务器的响应信息保存到本地 -o file
curl -o res.html www.wlmqtc.com

不输出错误和进度信息 -s
curl -s www.wlmqtc.com

不输出任何信息 -s -o /dev/null
curl -s -o /dev/null www.wlmqtc.com

只输出错误和进度信息 -S -o /dev/null
curl -S -o /dev/null www.wlmqtc.com