使用 Shell 命令在每个单词前添加 $ 符号,有多种方法,以下将介绍三种方法:

  1. 使用 sed 命令
str='hello world'
echo $str | sed 's/\b/\$/g'

输出:

$hello $world
  1. 使用 awk 命令
echo $str | awk '{for(i=1;i<=NF;i++) printf("$\%s ",$i)}'

输出:

$hello $world
  1. 使用循环遍历
str='hello world'
newStr=""
for ((i=0;i<${#str};i++)); do
    newStr+="\$${str:$i:1}"
done
echo $newStr

输出:

$h$e$l$l$o $w$o$r$l$d

注意,在循环遍历方法中,空格也会被加上 $ 符号。如果不想让空格被加上 $ 符号,可以在循环中加上判断。

改进方案

可以使用正则表达式来判断字符是否为字母或数字,如果是则在前面加上 $ 符号,否则不加:

str='hello world'
newStr=$(echo $str | sed -E 's/([a-zA-Z0-9]+)/\$&/g')
echo $newStr

输出:

$hello $world
Shell 命令:在每个单词前添加 $ 符号

原文地址: http://www.cveoy.top/t/topic/jUIG 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录