LINUX 学习笔记——命令(1)
来源:互联网 发布:mac little snitch 编辑:程序博客网 时间:2024/06/05 03:43
linux 已经学了一段时间了,突然发现都没有正儿八经的写过学习笔记,罪过,罪过啊!那就从现在开始吧!
现在正在啃“鸟哥的linux私房菜”,现在的进度是shell部分基本看完,马上转入正则表达式的学习,所以笔记就先从这里开始写吧,如果在学习的过程中看到一些比较重要的命令,会记录在LINUX学习笔记_history------命令中的。
NO 1. 正则表达式
1.1 什么是正则表达式
1.1.1 概念
正则表达式基本上是一种“表示法”,只要工具程序支持这种表示方法,那么该工具程序就可以用来作为正则表达式的字符串处理之用。eg:vi,grep,awk,sed 等(cp,ls不支持)
1.2 基础正则表达式
1.2.1 基本用法
1)正则表达式中的特殊符号 [:alnum:] [:alpha:] [:upper:] [:lower:] [:digit:]
2)行首与行尾字符 “^ $”
3)查找空白行 grep -n '^$' filename
4)任意字符“.”与重复字符"*","."代表一定有一个字符,“*”代表重复前一个字符0到无穷多次,要和别的字符组合使用
5)限定连续RE字符范围{},因为{}在shell中有特殊意义,所以要用\转意。eg:查找regular_express.txt文件中有"oo"的字符串
grep -n 'o\{2\}' regular_express.txt,如果是查找有2-5个o的字符串,则grep -n 'o\{2,5\}'regular_express.txt
1.2. 2 sed工具 p357
1)以行为单位的新增/删除功能 nl /etc/passwd | sed '2,5d' <-----将passwd的内容带行号列出,并删除2,5行,d代表删除
nl /etc/passwd | sed '2a drink tea' <----在第2行后加上drink tea(要另外开辟一行,及drink tea 加在 了第3 行),a代表添加,若想加在第2行前,则将a换成i,若想添加多行,则
nl /etc/passwd | sed '2i helloshell \
> hello world '
需要将添加的数据按行分开
2)以行为单位的整行替换与显示功能
nl /etc/passwd | sed '2,5c No 2-5 number' <-----将2~5行的内容替换为“No 2-5 number”
nl /etc/passwd | sed -n '5,7p' <-----仅列出passwd文件内5-7行的数据
*部分数据的查找并替换功能
sed 's/要被替换的部分/新的字符串/g'
3)直接修改文件
sed -i '$a #this is a test'regular_express.txt <------在regular_express.txt最后一行加入“#this is a test”
4)sed后面接多个命令时,要用-e选项
eg:cat /etc/passwd | sed -e '4d' -e '6c no six line'
1.3拓展正则表达式
掌握拓展表达式的特殊字符
+:重复一个或一个以上的前一个RE字符
?:零个或一个的前一个RE字符
|:用or的方式找出字符串
():找出组字符串
()+ :多个重复组的判别
awk数据处理工具 awk '条件类型1{动作1} 条件类型2{动作2}...' filename -----P363
- LINUX 学习笔记——命令(1)
- linux学习笔记—命令1
- LINUX学习笔记1——LINUX系统命令
- Linux学习笔记——基本命令
- Linux学习笔记——find命令
- Linux 学习笔记——常见命令
- Linux学习笔记——gzip命令
- linux学习笔记—命令2
- linux 学习笔记—链接命令
- linux 学习笔记—文件搜索命令
- linux学习笔记—搜索命令
- linux学习笔记—find命令
- linux学习笔记—grep命令
- linux学习笔记—帮助命令
- linux学习笔记—帮助命令
- linux 学习笔记 — 压缩命令
- linux学习笔记—挂载命令
- linux学习笔记—历史命令
- 往MySQL中存储图片
- sfc_os.dll位置
- 如何在 Ubuntu 启用 Radeon 开源驱动的 UVD 硬件解码
- paip.提升程序稳定性---最佳实践
- Android之-android-support-v4.jar的混淆问题
- LINUX 学习笔记——命令(1)
- C# Socket网络编程精华篇
- B. Books
- Linux IO模型漫谈
- 为android-support-v4.jar打包源码
- GDI+
- 常见错误:[oracle@nj15 database]$ ./runInstaller解决方法
- 实用的icon图标
- 获取windows8系统最高权限--system权限