sed的一些常用命令
时间:2009-07-28 来源:binary_XY.Z
一. 命令
1. c 行替换
sed '/TAG/c\hello, world' ur_file # 对有TAG字符串的行都替换为“hello, world”
sed '1 c\hello, world' ur_file # 把第一行替换为"hello, world"
2. & 修改模式将放在匹配模式之前/后
echo "hello, world" | sed 's/hello/GG &/' # GG hello, world
echo "hello, world" | sed 's/world/& GG/' # hello, world GG
3. r 读文件并追加在模式匹配的行后面
sed '/hello/ r a.txt' ur_file
4. n/N 把输入的下一行读入/追加到模式空间
sed 'N; s/\n//g' ur_file # 把1,2行, 3,4行, n,n+1行合并
5. r 把xx文件的所有内容读入到yy行之后
sed '/yy/r xx' file
二. 选项
1. -i 直接修改了原文件
sed -i 's/hello/HELLO/g' ur_file # 这样直接把源文件里的hello都替换成了HELLO, 而不是把修改后的写到标准输出。
sed -i.bak 's/hello/HELLO/g' ur_file # 写的时候备份原来的文件为 ur_file.bak
2. -n 使用安静模式。 在一般的sed的用法中, 所有来自STDIN的数据一般都会显示在屏幕上。 但是如果加上-n选项, 则只有经过sed特殊处理的那一行才会列出来。
3. -r 支持扩展的正则表达式。 默认情况下是基础的正则表达式语法
相关阅读 更多 +