实例妙解Sed和Awk的秘密——Sed高级操作命令
2018-02-20 20:22
471 查看
高级操作命令(1)
-{ } : 多个sed命令,用;分开
高级操作命令(2)
-n : 读取下一个输入行(用下一个命令处理)
高级操作命令(3)
-& : 替换固定字符串
案例一:大小写转换
将用户名的首字母转换为大写/小写
(元字符 \u \| \U \L;转换为大写/小写字符)
案例二:
将文件夹下的.txt文件名转换为大写
案例三:数据筛选("获取passwd中USER、UID和GID")
sed 's/\(^[a-z0-9_-]\+\):x:\([0-9]\+\):\([0-9]\+\):.*$/\1 \2 \3/' passwd
高级操作命令(4)
-\( \) : 替换某种(部分)字符串(
\1,\2 )
案例二:数据筛选("获取eth0的ip")
高级操作命令(5)
-r : 复制指定文件插入到匹配行
-w : 复制匹配行拷贝指定文件里
高级操作命令(6)
q : 退出sed
sed学习总结:
至此,sed命令就学习完了....
-{ } : 多个sed命令,用;分开
高级操作命令(2)
-n : 读取下一个输入行(用下一个命令处理)
实现跳行输出有两种方法: 1. sed -n '起始行~行距(每次跳几行)' 文件名 2. sed 中的n命令表示调到下一行, sed -n '{n;p}' 就可以表示先跳到下一行,然后再开始打印,结果就是输出所有的偶数行
高级操作命令(3)
-& : 替换固定字符串
案例一:大小写转换
将用户名的首字母转换为大写/小写
(元字符 \u \| \U \L;转换为大写/小写字符)
分析:
1. & 代替固定字符串 sed 's/^[a-z_-]\+/& /' /etc/passwd 将用户名后面添加空格 2. \u \l \U \L转换大小写,前边小写u和l仅变更开头字符,大写U和L变更全部 sed 's/^[a-z-_]\+/\u&/' /etc/passwd 将用户名第一个字母转大写
案例二:
将文件夹下的.txt文件名转换为大写
案例三:数据筛选("获取passwd中USER、UID和GID")
sed 's/\(^[a-z0-9_-]\+\):x:\([0-9]\+\):\([0-9]\+\):.*$/\1 \2 \3/' passwd
高级操作命令(4)
-\( \) : 替换某种(部分)字符串(
\1,\2 )
案例二:数据筛选("获取eth0的ip")
高级操作命令(5)
-r : 复制指定文件插入到匹配行
-w : 复制匹配行拷贝指定文件里
1. sed '1r 123.txt' abc.txt : 代表把123.txt整个文件的内容附加在abc.txt的第一行内容之后 2. sed '1w 123.txt' abc.txt : 代表把abc.txt的第一行拷贝到123.txt文件 注意此时会覆盖文件123.txt原本的内容
高级操作命令(6)
q : 退出sed
sed学习总结:
sed的行处理方式是读入一行,然后处理一行。 读入的行想存在patten中,但不是所有读入的行都会被处理 通过正则行定位的行会被处理
至此,sed命令就学习完了....
相关文章推荐
- 实例妙解Sed和Awk的秘密——Sed基本操作命令
- 实例妙解Sed和Awk的秘密——awk操作命令
- Linux中sed和awk命令比较实例
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- 操作 sed & awk (3) 基础-sed 命令
- Shell字符操作命令——grep、sed、awk
- awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一
- Linux之grep, sed, awk命令实例练习
- Unix整理笔记——高级命令sed和awk——里程碑M10
- Solaris下grep,sed,awk命令实例
- rename命令[Debian / Ubuntu] sed和awk的常用实例
- linux之grep,sed,awk命令实例大练习
- grep,sed,awk命令实例大练习
- Unix整理笔记——高级命令sed和awk——里程碑M10
- Linux中sed和awk命令比较实例
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- 【一天一个shell命令】文本内容操作系列-sed补充
- vim下高级操作以及文本替换命令
- [Shell]字符截取命令:cut, printf, awk, sed