为了账号安全,请及时绑定邮箱和手机立即绑定
  • 二. 字符截取命令 1.cut字段提取命令 --> 列提取命令 提取系统中所有普通用户:grep "/bin/bash" /etc/passwd grep -v "root" cut [选项] 文件名 -f 列号 :提取第几列 -d 分隔符 :按照指定分隔符分割列 ID Name Gender Mark 1 bail F 96 2 zhangc F 95 3 xialy F 97 4 liqh F 94 必须使用制表符,cut -f 2,4 student.txt grep "/bin/bash" /etc/passwd grep -v "root" cut -f 1 -d ":" cut命令的局限性:cut命令默认是将tab作为分隔符,若要指定其他分隔符,则cut命令会【完全按照】用户""中的分隔符划分 查看系统分区--> df -h cut -d " " -f 5 将会出现错误 2.printf命令 --> 格式化输出命令 printf "输出类型输出格式" 输出内容 输出类型: %ns:输出字符串。n是数字,指代输出几个字符 %ni:输出整数。n是数字,指代输出几个数字 %m.nf:输出浮点数。m和n是数字,指代输出的整数位数和小数位数。如%8.2f代表共输出8位数,其中2是小数位数,6位是整数 输出格式: \a:输出警告声音 \b:输出退格键,也就是Backspace键 \f:清空屏幕 \n:换行 \r:回车,也就是Enter键 \t:水平输出退格键,也就是Tab键 \v:垂直输出退格键,也就是Tab键 printf '%s\t%s\t%s\n' 1 2 3 4 5 6 --> 此时才会正确输出: 1 2 3 4 5 6 使用printf输出命令,必须明确指出所有的格式 如果想要使用printf读取文件中的内容就需要: printf '%s' $(cat student.txt) 不调整输出格式 printf '%s\t%s\t%s\t%s\n' $(cat student.txt) 调整输出格式 3.awk命令 awk命令的输出中支持print和printf命令 print在输出之后会在自动加入换行符,但Linux系统中默认没有print命令 printf是标准格式输出命令,并不会自动加入换行符,如需换行,需要手动加入换行符
    查看全部
  • 查询日期和ip的正则表达式
    查看全部
  • "[]" 匹配中括号中指定的任意一个字符,只匹配一个字符 "s[ao]id" 匹配s和i字母中间的,要么是a要么是o "[0-9]" 匹配任意一个数字 "^[a-z]" 匹配用小写字母开头的行 "[^]" 匹配除中括号的字符意外的任意一个字符【取反】 "^[^a-z]" 匹配不用小写字母开头的行 "^[^a-zA-Z]" 匹配不用字母开头的行 "\" 转意符 让特殊的符号丧失作用,只表示符号本身 "\.$" 匹配使用"."结尾的行 接上 ".$" 不能用它,因为其表示的意思是以任意字符结尾的行 "\{n\}" 表示其前面的字符【恰好】出现n次 "a\{3\}" 匹配a字母连续出现三次的字符串 "^[0-9]\{3\}" 匹配开头包含连续的三个数字的字符串 "c\{3\}u" 匹配u前面有【大于等于】三个c的字符串 如果需要准确匹配,则需要在前后使用分隔符 "xc\{3\}u" 匹配x和u之间三个c的字符串 "\{n,\}" 表示其前面的字符出现不小于n次 "^[0-9]\{3,\}[a-z]" 匹配最少用连续三个数字开头的行 "\{n,m\}" 匹配其前面的字符至少出现n次,最多出现m次 "sa\{1,3\}i" 匹配在字母s和字母i之间最少一个a,最多三个a
    查看全部
  • shell编程之正则表达式 一.正则表达式 主要用于字符串的模式分割、匹配、查找以及替换操作 通配符:*匹配任意一/多个字符 ?匹配任意一个字符 [xx]匹配括号中任意一个字符 正则表达式是用来在【文件中】匹配符合条件的字符串,正则是【包含匹配】,grep、awk、sed等,命令可以支持正则表达式 通配符用来匹配符合条件的【文件名】,是【完全匹配】,一模一样才可以 1.基础正则表达式 ? []为扩展正则 创建文件vi test.txt 然后修改别名 vi .bashrc alias vi='vim' alias grep='grep --color=auto' 然后运行配置文件 source .bashrc grep "a*" test.txt --> 匹配了整个文件 "*"前一个字符匹配0次,或任意多次 "a*" #匹配所有内容,包括空白行 "aa*" #匹配至少包含有一个a的行 "aaa*" #匹配最少包含两个连续a的字符串 "aaaaa*" #匹配最少包含四个连续a的字符串 grep "s.*d" test.txt "." 匹配除了换行符外任意一个字符,类似于通配符的? "s..d" 匹配在s和d这两个字母间一定有两个字符的单词 "s.*d" 匹配在s和d字母间有任意字符 ".*" 匹配所有内容 grep "^s" test.txt grep "b%" test.txt grep -n "^$" test.txt 写出空行的行号 "^"匹配行首,"$"匹配行尾 "^M" 匹配以大写“M”开头的行 "n$" 匹配以小写“n”结尾的行 "^$" 会匹配空白行
    查看全部
  • 基础正则表达式
    查看全部
  • 123
    查看全部
  • 123
    查看全部
  • 123
    查看全部
  • 123
    查看全部
  • 234
    查看全部
  • 123
    查看全部
  • 234
    查看全部
  • 123
    查看全部
  • 123
    查看全部
  • 123
    查看全部

举报

0/150
提交
取消
课程须知
学习本门课程前,还请大家学习慕课网《Tony老师聊shell》系列的前三篇课程!
老师告诉你能学到什么?
1、掌握shell中的正则表达式 2、掌握常用字符截取命令的使用 3、掌握常用字符处理命令的使用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!