您的位置:首页 > 运维架构 > Shell

sed的使用--基础篇

2016-06-16 23:58 561 查看
sed G        使一个文件中每一行都占用两行空间(就是在每一行后边插一行空行)

sed '/^$/d;G'    查找并删除空行;然后用 sed G插入空行

sed 'G;G'         使一个文件中每一行都占用三行空间

sed 'n;d'         撤销占用两行空间的操作(理解为用sed n 读入下一行兵紧接着用sed d 删除,如果隔两行删除一行那么
用sed 'n,n,d')

sed '/regex/{x;p;x;}'     在每个含有字符串regex的行上插入一行空白行

sed '/regex/G'         在每个含有字符串regex的行下插入一行空白行

sed '/regex/{x;p;x;G;}'        在每个含有字符串regex的行上,下各插入一行空白行

sed = filename | sed 'N;s/\n/\t/'     给文件每一行加上数字序号。用TAB制表符替换空间来保留空白

sed '/./=' filename | sed '/./N; s/\n/ /'     给文件每一行加上数字序号,但是仅当行非空时打印数字

sed -n '$='        统计行数(类似于 "wc -l")

sed 's/^[ \t]*//'        删除每一行开头的空白(空格,TAB)左对齐排列全文   (注意中括号里有空格)

sed 's/[ \t]*$//'        从每一行结尾处删除最后的空格(空格,TAB)

sed 's/^/ /'            在每一行开始处插入5个空格(整页偏移)      (待验证)

sed 's/\(.*\)foo\(.*foo\)/\1bar\2/'    不解释了~~~~

sed '/baz/s/foo/bar/g'         在每一含有"baz"的行中用"bar"替换(查找并替换)foo"

sed '/baz/!s/foo/bar/g'        在每一不含有"baz"的行中用"bar"替换(找并替换)foo"

sed '1!G;h;$!d'                反转文章行的顺序(类似"tac" )


本文转载至http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=336126
大家要具体了解用法的解释请移至上面地址,本人整理成这样只是方便以后工作时用到查看~~
若作者查看本文并发现不妥请告知本人~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell sed