-
cat passwd|sed 's/^\(^[a-z_-]\+\):x:\([0-9]\+\):\([0-9]\+\).*/USER:\1 UID:\2 ID:\3 /'
查看全部 -
ls *.txt|sed 's/^\W\+/\U&/' #将txt文件名的小写字母换成大写
查看全部 -
sed 命令行模式
sed -n '/root/p' #-n 一个命令 sed -e '10,20d' -e 's/false/true/g' #-e两个命令
查看全部 -
$awk -F ":" 'BEGIN{count=0}{if($3>100) name[count++]=$3}END{for (i=0;i<count;i++) print i,name[i]}' passwd
打印UID大于3的用户名,存到数组里
查看全部 -
awk拓展应用:对passwd中的账户总人数进行统计,注意不要统计空行
$awk -F ":" 'BEGIN{count=0}$1!~/^$/{count++}END{print "count="count}' passwd
count=48
$1!~/^$/
查看全部 -
awk拓展应用:对当前文件夹下文件大小总和进行统计
$ls -l|awk 'BEGIN{size=0}{size+=$5}END{print "size is "size/1024/1024"M"}'
size is 93.2972M
查看全部 -
错误示范
awk BEGIN{print "Line","Col","NAME"}{print NR,NF,$1}END{print "--------"FILENAME"-------------"}
正确示范
awk -F ":" 'BEGIN{print "Line","Col","NAME"}{print NR,NF,$1}END{print "--------"FILENAME"-------------"}' passwd
查看全部 -
command :pattern ---------逻辑判断
awk -F ":" '$3>100{print $1,$3}' passwd
逻辑判断也可以用if的形式写在{}里面
查看全部 -
command:pattern-----正则表达式
awk -F ":" '$1~/^m.*/{print $1}' passwd
$1匹配到/正则/
查看全部 -
awk -F ":" '{if($3>100) print "line:"NR"\t""name:"$1}' passwd
if() xxxx
查看全部 -
awk -F ":" '{printf("line:%s col:%s name:%s\n",NR,NF,$1)}' passwd
printf函数说明
printf("要打印的内容%s,默认没有换行,需要加上\n",对应于%s的变量)
查看全部 -
awk -F ":" '{print "line:"NR,"col:"NF,"user:"$1}' passwd
括号外加单引号,不能能和括号里的引号一样,否则会报错
查看全部 -
任意字符串
^r.* 以r开头的任意长度的字符串
m.*c 以m开头,c结尾的任意长度的字符串
m..c 四个字符长度
逻辑或
grep "bin/\(false\|true\)" passwd
查看全部 -
se* 匹配:s se seeeeee 0次或多次
se\+ 匹配:se see seeeeeeeeee 1次或多次
se\? 匹配: s se 0次或1次
\(se\)* 匹配0个或多个se,se放在括号里,并把括号转义
重复
[0-9]\{2,3\} 两位数或三位数
查看全部 -
头尾字符
^root 以root开头的行
false$ 以false结尾的行
^$ 头尾相碰代表这行没有内容,是空行
元字符
\w 匹配任意字类字符,包括数字字母下划线
\W 匹配任意非字类字符,除了数字字母下划线以外的
\b 代表单词的分隔 ,
grep "\bx\b" passwd
查看全部
举报