Linux文本流处理工具sed基本使用实例
linux下对文本流处理的软件有sed和awk,sed基本以行为单位来处理输入数据,awk会先把数据分割(如空格或Tab),以更接近编程语言的语法进行处理,包含一些基本的字串操作,数学函数功能登录。
- 字符串替换
语法:
sed -e 's/[oldString]/[newString]/[modifier]' file,标识位可以指定为”g,p,w”。$ sed -e 's/bash/zsh/g' /etc/passwd # _bash=>zsh_ - 字符替换
语法:
sed -e 'y/[oldCharacter]/[newCharacter]/' file。$ sed -e 'y/abc/ABC/' /etc/passwd # a=>A b=>B c=>C 当只替换一个字符时和s命令等效,前后长度要相等 - 删除指定行数
语法:
sed -e '1,2d' file。$ sed -e '1,3d' file #删除1-3行 - 文件输出
语法:
sed -i -e 's/[oldString]/[newString]/[modifier]' file。’-i’表示将处理结果覆盖到源文件$ sed -i -e 's/abc/eee/g' file #处理数据,并将结果写入原文件 - 使用环境变量, 双引号
$ sed -e "s/$HOSTNAME/newHostname/g" file