深圳贷款网站建设,重庆快速建站,建网站公司 优帮云,1668阿里巴巴官网脚本基本语句用法笔记
grep
-i 查询时不区分大小写 -n打印匹配的行号 -v 打印不匹配的行 -AX包括每次匹配之后X行 -BX包括每次匹配之后X行 cat /etc/passwd |grep student (-i 表示不关心大小写)
正则表达式中 ^代表开始 $代表结束
cat /etc/passwd|grep ^# -v (…脚本基本语句用法笔记
grep
-i 查询时不区分大小写 -n打印匹配的行号 -v 打印不匹配的行 -AX包括每次匹配之后X行 -BX包括每次匹配之后X行 cat /etc/passwd |grep student (-i 表示不关心大小写)
正则表达式中 ^代表开始 $代表结束
cat /etc/passwd|grep ^# -v (去掉以#作为起始的行)
cat /etc/passwd|grep ^$ -v (去掉空行)
-E增强符号的使用
cat inittab |grep -Ev ‘(^#|^$)’ 等价于 cat inittab |grep -Ev ‘^(#|$)’
文件处理后重新保存错误示范
cat inittab |grep -Ev ‘^(#|$)’ inittab 这样会得到一个空文件。
解决办法
cat inittab |grep -Ev ‘^(#|$)’ inittab.tmp ;cat ./inittab.tmp inittab;rm -f ./inittab.tmp
sed
sed ‘s/ search / replace / ’ 或者 ‘s# # # ’ 或者 ‘s ’
echo “/usr/local” |sed ‘s/usr/var’
cat ./iptables.list | sed ‘s/172.24./10.0./’ 重新cat ./iptables.list后发现内容并没有发生改变再次印证了sed只是改变的流
sed 的搜索默认是在一行里找到第一个符合条件的信息就停止搜索行内剩余的信息。过想继续搜索行内的其他符合条件的信息需要添加g形成 ‘
s/ / /g’ 的形式 ‘s/ / /i’可以忽略大小写
cat ./iptables.list | sed ‘1,50s/172.24./10.0./’ 1到50行中的进行替换
cat animal.txt |sed ‘/cat/,/dog/s/$/---------/’传说中的猫鼠游戏可以实现模糊行的匹配
遇到cat开始dog结束 在这些符合的行中在结尾添加————— 如果没有遇到dog那就一直执行一直到最后 sed的删除操作 cat iptables.list |sed ‘/^#/d’ 形式就是如此 要实现将#开始的 或者空行都删掉
cat iptables.list |sed ‘/^#/d’ |sed ‘/^$/d’
cat iptables.list |sed -e ‘/^#/d’ -e ‘/^$/d’
wc对行数的统计
cat /etc/passwd |wc 37 63 1737 出现有37行 63个word 1737个字符(character) cat /etc/passwd |wc -w 63 cat /etc/passwd |wc -l 37 cat /etc/passwd |wc -c 1737 cat /etc/passwd |grep -i studenttt |wc -l 用该命令的输出数值来判断是否存在cat命令在不存在符合要求的时候是不会输出信息的故而不能做判断用。
awk
awk’ /匹配字符串/’文件名 匹配字符串可以用正则表达式来表示 awk ‘/root/’ /etc/passwd 等价于 grep root /etc/passwd awk ‘{处理动作}’文件名 awk -F:’{print 111 3}’ /etc/passwd awk ‘/匹配字符串/ {处理动作}’文件名 awk -F:’/root/{print 1,1,1 ,3}’ /etc/passwd awk ‘{print 1,1,1,3}’ ~/names 可以找出第一列和第三列的内容 awk ‘{print 1,1,1,3}’ ~/names 该表达式中逗号表示一个空格的分隔符 如果该表达式中逗号用空格代替效果等价于awk ‘{printf 11script idMathJax-Element-5 typemath/tex1/script3}’
~/names 仅仅把第1,3列拼接在一起。
print函数将变量和字符夹杂着输出如同linux中的echo命令
shelldate
Wed Feb 24 10:22:28 CST 2010
shell date|gawk’{print “Month:”$2”\nYear:”,$6}’
Month:Feb
Year:2010
最近在读一个脚本先把里面这些晦涩的脚本用法摘出来磨刀不误砍柴工。