1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| wc #统计 sort #排序 uniq #去重
grep # grep [-选项] 关键字 文件
sed # sed 选项 '匹配规则' 文件 匹配规则为两部分 地址命令 sed -n '2,4p' /etc/passwd #输出2-4 行内容 sed -n '2,$p' /etc/passwd #输出2-最后一行内容 sed -n '/nologin/p' /etc/passwd #匹配到所有行 sed -i.bak '/root/a\test' passwd #在root 匹配到行后追加 sed -i.bak '1a\test' passwd #在第一行后追加 sed -i.bak '/root/i\test' passwd #在root匹配到的行前追加 sed -i.bak '/root/c\test' passwd #替代匹配到的行 sed -n 's/root/&test/p' passwd #在匹配到的单词后追加 sed -n 's/root/test&/p' passwd #在匹配到的单词前追加 sed -nE 's/(.*)nologin$/\1test/p' passwd #变量占位
$awk -F':' '{print $1}' passwd #用冒号做分隔符,打印第1列 df| awk '{print $1, $5}' # 默认按照空格分隔 ifconfig | sed -n '2p'|awk '{print $2}' #取IP地址 awk -v FS=':' '{print $1,FS$3}' passwd #定义变量 awk -F: '{printf "%s %d\n", $1,$3}' /etc/passwd #格式化打印 awk -v i=0 'BEGIN{printf "%d\n",++i}'#申明变量计算 awk -v FS=":" '/^root/{printf "%s\n",$1}' /etc/passwd #匹配后再处理 awk -v FS=":" '$3>100 && $3<1000 {printf "%s\n",$1}' /etc/passwd #按照真假匹配处理 awk -v FS=":" 'NR>5 {printf "%s\n",$1}' /etc/passwd #按照行号判断处理 awk -F: 'BEGIN {printf "--------------------------------\n%-20s|%10s|\n-------------------------------\n","usrname","uid"} {printf "%-20s|%10d|\n",$1 ,$3}' /etc/passwd|head -n 10 # BEGIN 模式打印表头 awk 'BEGIN{ for(i=1;i<10;i++){printf "%d",i};{print "\n"}}' #for循环 awk -v i=1 'BEGIN{ for(;i<10;i++){printf "%d ",i};}'
|