我有这个:
second_arg="${second_arg/[^[:alnum:]]/_}"
Run Code Online (Sandbox Code Playgroud)
如果我这样做:
second_arg="foo::"
second_arg="${second_arg/[^[:alnum:]]/_}"
echo "$second_arg"
Run Code Online (Sandbox Code Playgroud)
然后我得到:
foo_:
Run Code Online (Sandbox Code Playgroud)
如何替换所有非字母数字实例?我尝试了这样的全局开关:
second_arg="${second_arg/[^[:alnum:]]/_/g}"
Run Code Online (Sandbox Code Playgroud)
但这不起作用,我最终得到:
foo_:/g
Run Code Online (Sandbox Code Playgroud)
或者,如果您想坚持使用 bash 的变量扩展功能,请使用两个正斜杠来替换每个匹配项:
second_arg="${second_arg//[^[:alnum:]]/_}"
^------ here
Run Code Online (Sandbox Code Playgroud)
和sed:
$ echo 'This is a test; specifically it is test number 25!' | sed 's/[^a-zA-Z0-9]/_/g'
This_is_a_test__specifically_it_is_test_number_25_
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2453 次 |
| 最近记录: |