红联Linux门户
Linux帮助

Linux教程:使用sed创建目录和简单匹配替换

发布时间:2014-11-27 15:59:37来源:linux网站作者:crazyming

sed 创建目录结构。

find /shell/a/ -type d -print | sed 's;/shell/a/;/shell/b/;' | sed 's/^/mkdir /'
mkdir /shell/b/
mkdir /shell/b/p


find 查找目录, -type 是指定类型为目录,并打印出来

sed 's;/shell/a/;/shell/b/;' 修改名称,这里使用分号做为定界符

sed 's/^mkdir /'  插入mkdir 命令


也可以使用后向引用:

[root@localhost shell]# find /shell/ -type d -print | sed 's;/\(shell\)/a/;\1/c/;' |sed 's/^/mkdir /'
mkdir /shell/
mkdir /shell/a
mkdir shell/c/p
mkdir /shell/b
mkdir /shell/b/p

[root@localhost shell]# grep ^root passwd
root:x:0:0:root:/root:/bin/bash
[root@localhost shell]# sed -n '\:root: s;;Root;p' passwd
Root:x:0:0:root:/root:/bin/bash


改变定界符,以:开始查找的模式,而分号为扮演s命令的定界符角色

[root@localhost shell]# echo "123" | sed 's/1*/b/'    #替换第一个匹配成的
b23

[root@localhost shell]# echo "123" | sed 's/1*/b/g'    #替换所有匹配成功的
b2b3b