Shell 脚本学习指南 读书笔记01

本文档介绍了 Shell 脚本的基础知识及其在实际应用中的多种用途,包括使用简单的命令进行文本处理、文件操作以及如何创建可移植的脚本。涵盖了常用的命令如 grep、sed 和 awk 的使用技巧,以及如何利用管道和重定向来增强脚本的功能。
1. 入门
why
简单性 可移植性 易开发性

who | wc -l 统计用户个数
| 管道

脚本开头一般写法 #! /bin/sh 注意尽量不要超过64个字符

重定向及管道 < > |

特殊文件
/dev/null
exp: if grep pattern myfile > /dev/null then ... else ... fi
主要是获得执行后的状态,而不是结果
/dev/tty 重定向到一个终端, 一般用来获取人工输入

命令跟踪
sh -x mysh.sh
或set -x 打开跟踪, set +x 关闭

LANG设置默认语言
LC_ALL 覆盖所有LC_XXX的语言
locale -a 显示所有支持的语言


2. some cmd

grep 基本的正则匹配
egrep 扩展的正则匹配
fgrep 固定字符串匹配, 可多个
grep -F 等于 fgrep , 实际上 grep 后表达式里没有正则的, 就默认是-F

正则介绍
/ * . ^ $ [] {n,m} + ? | ()
[:alpha:] 英文字符集
[.ch.] 一个字符ch
[=e=] 等价字符集
[^aeiouy] 表示所有小写原音字母外的

sed 命令
who |sed 's/:.*' | sort -u
sed -n '10,42p' foo.xml
sed '/foo/,/bar/ s/aaa/bbb/g' foo.xml
who | sed '/dev5/!s/pts/ppt/'
sed '/^#/d' t.sh 删注释

cut
ls -l | cut -c 1-10
cut -d : -f 1,3 /etc/passwd

awk
awk 'NF>0 ' t.sh
awk -F: -v 'OFS=**' '{print $1,$2}' /etc/passwd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值