Spo*_*dda 3 macos homebrew gnu sed
sed命令中不区分大小写的替换指示符本身似乎不区分大小写。将i / I附加到sed语句似乎会产生相同的结果。
echo a | gsed ’s_A_Z_i’
Run Code Online (Sandbox Code Playgroud)
返回:Z
echo a | gsed ’s_A_Z_I’
Run Code Online (Sandbox Code Playgroud)
还返回:Z
echo A | gsed ’s_A_z_I’
Run Code Online (Sandbox Code Playgroud)
返回:z
echo A | gsed ’s_a_Z_i’
Run Code Online (Sandbox Code Playgroud)
返回:Z
gsed返回特定于案例的替代文本。
是否存在一种紧凑的方式来指定不区分大小写的搜索,并在与查找匹配的大小写匹配的情况下进行替换?(将a替换为z,将A替换为Z)
当然,可以通过两个命令解决问题,但我正在寻找更紧凑的东西。
其次,i / I后缀的效果是否有所不同?(不是-i标志)
这与[上一个问题](如何在Mac OS X上使用GNU sed)不同,但与之不同!在标准自制软件安装后,在OSX中使用gnu-sed的问题。
我没有特定的应用程序。我正在学习OSX上gnu-sed的一些复杂之处,并且想知道它如何处理大小写。
该命令的i/I选项s仅修改,PATTERN而不会影响REPLACEMENT。请想象一下以下用法:
str='Login'
echo "$str" | sed 's/login/Login/i'
Run Code Online (Sandbox Code Playgroud)
本示例尝试将的输入规范化upper camel case
以接受login和Login。如果该i/I选项影响
REPLACEMENT,我们将无法获得预期的结果。
如果要将a映射到z,将A映射到Z,请尝试:
sed y/Aa/Zz/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |