Pipable字符串提取

时间:2011-03-10 21:48:22

标签: bash shell string pipe

我试图从一个参数中提取值,然后将其传递给shell中的另一个命令。

字符串参数可以是零长度,或12的倍数(4个字符代码+ 8个数字日期)。 e.g:

123420110404123520110404123620110404
500520110404

所需的输出是每组12个中的前4个字符,如果没有输入则为空字符串(“”)。 e.g:

123412351236
5005

用法示例:

[user@machine abc]$ echo 123420110404123520110404123620110404 | [magic set of manipulation commands]
123412351236

注意:我有切,sed& Perl已安装。我没有安装awk。

1 个答案:

答案 0 :(得分:3)

我能想象的一件事是:

echo 123420110404123520110404123620110404 | sed -r 's/(.{4}).{8}/\1/g'

echo 123420110404123520110404123620110404 | sed 's/\(....\)......../\1/g'