常用shell脚本命令
1、显示包含文字aaa的下一行的内容:
sed -n '/aaa/{n;p;}' filename
2、删除当前行与下一行的内容:
sed -i '/aaa/{N;d;}' filename
3、删除当前行与下两行的内容:
sed -i '/aaa/{N;N;d;}' filename
依次类推,删除三行,则为{N;N;N;d;},分析知:N为next
4、得出以空格为分割的字符串中单词的个数,即统计个数:
awk ' { print NF } '
如显示字符串VALUE中的单词个数,其中VALUE为:aaa bbb ccc ddd ee f
则执行 echo $VALUE | awk ' { print NF } ' 后的结果为6
5、在linux中建立一个文件与另一文件的链接,即符号链接
ln -s /var/named/chroot/etc/named.conf named.conf
这要就建立了当前目录的文件named.conf对/var/named/chroot/etc/named.conf 的符号链接。即操作named.conf就意味着操作实际文件/var/named/chroot/etc/named.conf ,这时用ll命令查看的结果如:
lrwxrwxrwx 1 root root 32 Mar 22 12:29 named.conf -> /var/named/chroot/etc/named.conf 注意:当用sed来通过named.conf来删除一部分信息时,会将符号链接的关系丢掉,即会将named.conf变成一个实际文件。所以需对实际文件进行删除操作。
6、显示指定字符范围内的内容:
如:显示文件test.txt中字符#test begin与#test end之间所有的字符
sed -n "/#test begin/,/#test end/p" test.txt
或 awk "/#test begin/,/#test end/" test.txt
在日常系统管理工作中,需要编写脚本来完成特定的功能,编写shell脚本是一个基本功了!
在编写的过程中,掌握一些常用的技巧和语法就可以完成大部分功能了,也就是2/8原则.
1. 单引号和双引号的区别
单引号与双引号的最大不同在于双引号仍然可以引用变量的内容,但单引号内仅是普通字符,不会作变量