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


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

相关内容