标签:逆序 info useradd ESS split vimrc linux bin 生成
~]# grep -v "/sbin/nologin" /etc/passwd | cut -d: -f1 root sync shutdown halt mageia slackware ~]# grep -v "/sbin/nologin" /etc/passwd | wc -l 6
awk方法:
~]# cat /etc/passwd| awk -F: ‘{if($NF != "/sbin/nologin"){print $1;i++}}END{print "Total: "i}‘ root sync shutdown halt mageia slackware Total: 6
解释:假如最后一个字段不等于“/sbin/nologin”,就打印第一个字段,然后变量 i=i+1。最后显示变量 i 的数值。
-F:以“:”为分隔符。
NF:number of field,字段数量。$NF即表示最后一个字段。
END{}:仅在文本处理完成之后执行一次;
~]# cut -d: -f1,3,7 /etc/passwd| sort -nr -t: -k2 | head -1 slackware:2002:/bin/tcsh
cut:
-d:以指定的字符为分隔符;
-f:挑选出的字段;
sort:
-n:基于数值大小而非字符进行排序;
-t CHAR:指定分隔符;
-k #:用于排序比较的字段;
-r:逆序排序;
head:
-#:查看文件的前n行;
~]# netstat -tan | awk ‘/^tcp\>/{split($5,ip,":");count[ip[1]]++}END{for(i in count){print i,count[i]}}‘ | sort -nr -k2 192.168.74.104 5 127.0.0.1 5 0.0.0.0 4 192.168.74.1 3
/regular expression/:仅处理能够被此处的模式匹配到的行;
split(s,a[,r]):以r为分隔符切割字符s,并将切割后的结果保存至a所表示的数组中;
[root@lamp ~]# cat createuser.sh #!/bin/bash # [ $# -ne 1 ] && echo "Error" && exit 1 USERNAME=$1 if id $USERNAME &> /dev/null ;then echo "User $USERNAME already exists" else echo "Add user: $USERNAME" useradd $USERNAME echo "Info: " id $USERNAME fi
[root@lamp ~]# bash -n createuser.sh #检测脚本中的语法错误 [root@lamp ~]# sh createuser.sh root User root already exists [root@lamp ~]# sh createuser.sh roottest Add user: roottest Info: uid=2003(roottest) gid=2003(roottest) groups=2003(roottest)
5、编写生成脚本基本格式的脚本,包括作者,联系方式,版本,时间,描述等
set tabstop=4
set softtabstop=4
set shiftwidth=4
set expandtab
set cursorline
set autoindent
autocmd BufNewFile *.sh exec ":call SetTitle()"
func SetTitle()
if expand("%:e") == ‘sh‘
call setline(1,"#!/bin/bash")
call setline(2,"#")
call setline(3,"#*******************************************************************************")
call setline(4,"#Author Lam")
call setline(5,"#Date: ".strftime("%Y-%m-%d"))
call setline(6,"#Filename: ".expand("%"))
call setline(7,"#Copyright(C): ".strftime("%Y")." All rights reserved")
call setline(8,"#*******************************************************************************")
call setline(9,"")
endif
endfunc
autocmd BufNewFile * normal G
标签:逆序 info useradd ESS split vimrc linux bin 生成
原文地址:https://www.cnblogs.com/ljt-lam/p/13246598.html