You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何消除Bash脚本中两个cut命令输出间的多余空格?

用awk简化实现,避免多余空格问题

直接用awk就能一步完成需求,无需多个cut命令拼接,完美解决空格多余的问题:

awk '{
    line_len = length($0)
    if (line_len < 7) {
        print substr($0, 2, 1)
    } else {
        print substr($0, 2, 1) substr($0, 7, 1)
    }
}'

说明:

  • length($0) 计算当前行的总字符数
  • substr($0, 2, 1) 提取第2个ASCII字符(第二个参数是起始位置,第三个是提取长度)
  • 当行长度超过7时,直接将两个提取的字符拼接输出,不会产生额外空格

如果喜欢更紧凑的写法,也可以用三元表达式压缩成一行:

awk '{print (length($0) < 7) ? substr($0, 2, 1) : substr($0,2,1)substr($0,7,1)}'

测试验证:

  • 输入T.T - Test Text,输出.T,符合预期
  • 输入T e s t,输出空格(原行第2个字符),不会误删输入中的空格

内容的提问来源于stack exchange,提问作者the_fearless_knight

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:42:38