Sha*_*uan 6 bash shell awk sed
我想通过\在任何数字和它之前的点之间添加来修改我的变量,到目前为止我只设法\在第一个数字和第一个点之后添加。
我的脚本:
branch="3.2.5"
firstbranch=$(echo $branch | sed -r 's/([0-9]+.)(.)/\1\\2/g') && echo $firstbranch
Run Code Online (Sandbox Code Playgroud)
它生成的输出:
3.\2.5
Run Code Online (Sandbox Code Playgroud)
和所需的输出:
3.\2.\5
Run Code Online (Sandbox Code Playgroud)
您可以使用:
sed 's/[0-9]\./&\\/g' <<< "$branch"
Run Code Online (Sandbox Code Playgroud)
3.\2.\5
Run Code Online (Sandbox Code Playgroud)
如果您没有问题awk,你可以请尝试以下,以书面的链接,并与出样品测试https://ideone.com/T1suTg
echo "$branch" | awk 'BEGIN{FS=".";OFS=".\\"} {$1=$1} 1'
Run Code Online (Sandbox Code Playgroud)
说明:打印 shell 变量branch值echo并将其输出作为标准输入发送给awk命令。在awk程序BEGIN块中将字段分隔符设置为.并将输出字段分隔符设置.\\为实际上是.\然后在主程序中将第一个字段重新设置为自身,以便应用输出字段分隔符的新值。1将打印当前行的值。
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |