Linux命令与正则表达式学习笔记

需积分: 6 0 下载量 42 浏览量 更新于2024-09-05 1 收藏 173KB DOCX 举报
"这篇文档是关于Linux的笔记,包含了awk命令的使用、正则表达式、混合模式匹配、条件语句(如if/else、if/elif/else)以及文件检查和循环等基础操作。" 在Linux环境中,`awk` 是一个强大的文本分析工具,例子中的`awk '$2>80{print}' scores`命令用于筛选成绩文件`scores`中第二列(通常代表语文成绩)大于80的行。这展示了awk如何根据条件进行数据过滤。 正则表达式在Linux中广泛用于数据查找和匹配。例如,`grep 'l' file`将打印文件中所有以'l'开头的行,而`grep 'g$' file`则查找以'g'结尾的行。`~`符号在awk或bash中用于匹配正则表达式。要查找第二个成绩大于90的记录,可能需要更复杂的正则表达式或使用其他命令结合。 混合模式匹配结合了正则表达式和关系表达式,例如找出语文成绩在90到100之间的行,可以使用`awk '$2>=90 && $2<=100' file`。 在文件处理方面,`-F':'`参数告诉awk以冒号作为字段分隔符。`grep -e '/bin/bash' /etc/passwd`会找到那些shell字段为'/bin/bash'的用户记录,这在管理用户权限时很有用。 `case`语句在Bash脚本中用于多分支判断,`[]`可以表示范围,如`[1,2]`和`[1-5]`。条件测试是Linux shell脚本的关键部分,`-e`检查文件是否存在,`$1`引用脚本的第一个参数,`-z`检查字符串是否为空,`-ge3`表示大于或等于3,这些是基本的文件和字符串操作。 `read str`命令从键盘读取输入并将其赋值给变量`str`。`for`循环在shell脚本中常用于迭代,例如计算1到100的和可以通过`for i in {1..100}; do ((sum+=i)); done; echo $sum`实现。`for var in {1..5}`等价于`for var in 1 2 3 4 5`,而`for var in {1..100..2}`则按步长2遍历1到100的奇数。 这个文档涵盖了Linux系统管理、数据分析和脚本编写的基本概念,对于初学者来说是一个很好的参考资料。随着内容的补充,将涵盖更多实用技巧和高级主题。