我写一个unix bash shell脚本.
我想用下划线("_")替换文本中的所有无效字符.我的有效字符列表是az,AZ,"_"和0-9.基本上它是字母数字和_.在下面的例子中
#!/bin/bash hostname=soa.ax-123
我希望将变量hostname值替换为soa_ax_123
任何人都可以帮我写登录,找到并用"_"替换无效字符
先谢谢克里斯
您可以在参数扩展中执行模式替换:
#!/bin/bash hostname=soa.ax-123 newhostname=${hostname//[^a-zA-Z_0-9]/_} echo "The fixed hostname is $newhostname"