我怎样才能从string使用sed第一个X字符?
我在一个小型的工业机器上编写embedded式Linux的shell脚本。 我有一个variables包含文本pid: 1234
,我想剥离行中的第一个X字符,所以只有1234停留。 我有更多的variables,我需要“干净”,所以我需要削减X的第一个字符和${string:5}
在我的系统中由于某种原因不起作用。
盒子似乎只有sed
。
我正在努力使以下工作:
result=`echo "$pid" | sed 's/^.\{4\}//g'`
有任何想法吗?
这也将完成这项工作:
echo "$pid"|awk '{print $2}'
以下应该工作:
var="pid: 1234" var=${var:5}
你确定bash
是执行脚本的shell吗?
使用-r
选项(“在脚本中使用扩展正则expression式”) sed
以便使用{n}
语法:
$ echo 'pid: 1234'| sed -r 's/^.{5}//' 1234
下面是使用cut(1)
剪切前X个字符的简洁方法。 这个例子删除了前4个字符。
echo "$pid" | cut -c 4-
有机会,你也会cut
。 如果是这样:
[me@home]$ echo "pid: 1234" | cut -d" " -f2 1234
从string中剪切前两个字符:
string="1234567890"; echo "${string:2}"
通过awk '{print substr($0,42)}'
,其中42比要删除的字符数多一个。 例如:
$ echo abcde| awk '{print substr($0,2)}' bcde $
另一种方式,用head
代替sed
。
result=`echo $pid | head -c 4`