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

如何用Shell脚本移除[字符后的所有字符串?

几种Shell脚本实现方法

嘿,这个需求用Shell的几个文本处理工具就能轻松搞定,我给你分享几种实用的方案:

方法1:使用sed(最常用的文本替换工具)

sed 擅长做字符串替换操作,我们可以直接匹配 [ 及其后面的所有内容,然后替换为空:

# 仅输出处理后的结果,不修改原文件
sed 's/\[.*//' 你的文件名.txt

# 如果需要直接修改原文件(注意:会覆盖原文件,操作前最好备份)
sed -i 's/\[.*//' 你的文件名.txt

解释一下:

  • s/原内容/替换内容/ 是sed的核心替换语法
  • \[ 是转义后的左方括号(因为[在正则表达式里有特殊含义,必须转义才能匹配字面量)
  • .* 匹配[之后任意长度的任意字符
  • 把这些内容替换成空,就只剩下[之前的目标部分啦

方法2:使用awk(按分隔符拆分字段)

我们可以把[作为分隔符,直接提取拆分后的第一个字段:

awk -F '[' '{print $1}' 你的文件名.txt

解释:

  • -F '[' 指定字段分隔符为[
  • print $1 打印拆分后的第一个字段,也就是[之前的内容

方法3:使用cut(简单的字段截取工具)

cut 主打轻量的字段截取,操作更简洁直观:

cut -d '[' -f 1 你的文件名.txt

解释:

  • -d '[' 设置分隔符为[
  • -f 1 提取第一个分隔后的字段

测试示例

假设你的文件里有一行内容:

./intercompany.rb[1:1] | passed | 9 minutes 7 seconds |

运行上面任意一个命令,输出结果都是:

./intercompany.rb

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:08:20