使用Boomi实现按首个空格截取变长字符串并移除前缀ID
移除开头可变长度ID及首个空格的解决方法
cut会把连续空格识别为多个分隔符,导致提取内容出错,推荐用以下两种工具处理这类场景:
方法1:使用sed正则替换
直接匹配行开头的任意长度ID(假设ID为数字,若包含字母可调整正则)及后续首个空格,替换为空:
sed 's/^[0-9]* //' 文件名
如果ID可能包含字母或下划线,可把正则修改为^[a-zA-Z0-9_]* ,适配更多ID格式。
示例:
输入:"1234 My house"
输出:"My house"
方法2:使用awk截取字符串
通过定位第一个空格的位置,直接截取空格后的所有内容,无需关心ID的具体格式:
awk '{n=index($0," "); print substr($0,n+1)}' 文件名
这个方法通用性更强,不管ID是纯数字、字母混合还是其他格式,只要开头是ID加一个空格,就能正确提取后续内容。
如果需要处理管道输入(比如读取其他命令的输出),直接把命令接在管道后即可,例如:
cat 发货人列表.txt | awk '{n=index($0," "); print substr($0,n+1)}'
内容的提问来源于stack exchange,提问作者RayJohn
相关产品推荐
相关产品推荐

