Board logo

标题: [问题求助] sed的正则来完成变量替换的Shell脚本错在哪里? [打印本页]

作者: netdzb    时间: 2019-7-22 13:29     标题: sed的正则来完成变量替换的Shell脚本错在哪里?

我想用sed的正则来完成变量替换,希望输出的结果是

茅善玉这里的早晨

茅善玉 这里的早晨  // 实际代码输出的结果这个,这个是为啥啊?
        ~~
       这里多出空格,测试过2个平台结果都一样啊
  1. #!/bin/bash
  2. songs="茅善玉 - 这里的早晨"
  3. echo ${#songs}  # 获取字符串长度
  4. #echo ${songs}  # 打印字符串
  5. #echo ${songs}| awk -F ' ,-, ' '{print $NF;}'
  6. #echo -e -n ${songs}'\r\n'| awk -F '-' '{print $1;}'>43.txt
  7. #echo -e -n '\r\n'>>43.txt
  8. #echo -e -n ${songs}'\r\n'| awk -F '-' '{print $2;}'>>43.txt
  9. #echo -e -n '\r\n'>>43.txt
  10. #
  11. #str1=echo `${songs}| awk -F '-' '{print $1;}'`
  12. str1="茅善玉 "
  13. str2=" 这里的早晨"
  14. echo ${str1} | sed 's/ //g'
  15. echo ${str2} | sed 's/ //g'
  16. str3=$str1$str2
  17. echo -e -n ${str3}'\r\n'
复制代码

作者: Batcher    时间: 2019-7-22 13:49

  1. str1=$(echo ${str1} | sed 's/ //g')
  2. str2=$(echo ${str2} | sed 's/ //g')
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2