2011-03-10 79 views
0

我想從一個參數中提取值,然後將其傳送到shell中的另一個命令。Pipable字符串提取

字符串參數可以是零長度或12的倍數(4個字符代碼+ 8位數字日期)。例如:

123420110404123520110404123620110404 
500520110404 

輸出需要的是每組12箇中的前4個字符,或者如果沒有輸入,則爲空字符串(「」)。例如: -

123412351236 
5005 

用例:

[[email protected] abc]$ echo 123420110404123520110404123620110404 | [magic set of manipulation commands] 
123412351236 

注:我已經削減,sed的& Perl安裝。我沒有安裝awk。

+1

什麼樣的系統已經用sed和Perl但不是在awk? – 2011-03-10 23:32:44

+0

這很奇怪。 – 2011-03-11 03:12:17

+0

我知道。它也缺少其他一些基礎知識。唉,我不允許安裝其他任何東西,並且要求批准將會比生產更加痛苦。 – 666damo 2011-03-15 22:26:26

回答

3

有一件事我可以想像的是:

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

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

謝謝你的快速回答。 sed再次閃耀,只是表明它有多強大。 – 666damo 2011-03-10 22:26:31