你可以在sed中使用哪些分隔符?
我们通常会看到人们在想要使用包含sed分隔符的模式时抱怨sed中s’错误的未知选项.
例如,如果我们使用/: $var="hel/lo" $sed "s/a/$var/g" <<< "haha" sed: -e expression #1,char 9: unknown option to `s' 所以我们建议使用另一个分隔符,例如|: $sed "s|a|$var|g" <<< "haha" hhel/lohhel/lo 但是,我想知道sed可以接受的分界符是什么…因为它似乎几乎是任何字符,包括正则表达式(*,?,.,…)! 在我的sed(GNU sed)4.2.2中: $sed 's/a/b/g' <<< "haha" hbhb $sed 's_a_b_g' <<< "haha" hbhb $sed 's#a#b#g' <<< "haha" hbhb $sed 's$a$b$g' <<< "haha" hbhb $sed 's?a?b?g' <<< "haha" hbhb $sed 's*a*b*g' <<< "haha" hbhb $sed 's-a-b-g' <<< "haha" hbhb $sed 's.a.b.g' <<< "haha" hbhb $sed 'sXaXbXg' <<< "haha" hbhb $sed 'sxaxbxg' <<< "haha" hbhb $sed 's1a1b1g' <<< "haha" hbhb 如果它被转义,即使是在这里工作: $sed 'saaabag' <<< "haha" sed: -e expression #1,char 5: unknown option to `s' $sed 'saaabag' <<< "haha" hbhb 这有什么规格吗? 解决方法
也许最接近标准的POSIX / IEEE Open Group Base Specification
says:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – Perl / curl如何获取状态代码和响应正文
- linux – Iptables你可以指定的最大端口数–dport不连续吗?
- linux – Debian:SSH:“PermitRootLogin = forced-comman
- zsh – 程序具有子命令时完成
- POJ 1470 Closest Common Ancestors
- linux – Cups没有打印“Filter Failed”消息 – 如何获取更
- linux – 在sh脚本中,获取后台进程的pid
- linux – 为自动化模拟USB设备
- linux-kernel – 未定义的异常处理程序(__und_svc)在kprobe
- 配置inotify+rsync实时同步