首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用sed从字符串中剥离前X个字符?

如何使用sed从字符串中剥离前X个字符?
EN

Stack Overflow用户
提问于 2012-07-13 19:53:37
回答 11查看 253K关注 0票数 147

我正在为一个小型工业设备中的嵌入式Linux编写shell脚本。我有一个包含文本pid: 1234的变量,我想去掉该行的前X个字符,所以只保留1234个字符。我有更多的变量需要“清理”,所以我需要去掉X个开头的字符,并且由于某种原因,${string:5}在我的系统中不能工作。

这个盒子里唯一的东西似乎是sed

我正在尝试使以下内容生效:

代码语言:javascript
运行
复制
result=$(echo "$pid" | sed 's/^.\{4\}//g')

有什么想法吗?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-07-13 19:58:53

这也可以完成这项工作:

代码语言:javascript
运行
复制
echo "$pid"|awk '{print $2}'
票数 -9
EN

Stack Overflow用户

发布于 2012-07-13 20:40:45

下面的代码应该可以工作:

代码语言:javascript
运行
复制
var="pid: 1234"
var=${var:5}

你确定bash是执行你的脚本的外壳吗?

即使是与POSIX兼容的

代码语言:javascript
运行
复制
var=${var#?????}

这比使用外部过程更可取,尽管这需要您以固定长度模式的形式对5进行硬编码。

票数 217
EN

Stack Overflow用户

发布于 2014-12-04 16:09:20

下面是一个使用cut(1)截取前X个字符的简明方法。此示例通过剪切从第5个字符开始的子字符串来删除前4个字符。

代码语言:javascript
运行
复制
echo "$pid" | cut -c 5-
票数 133
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11469989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档