从同一行到bash中的几行的单词集

时间:2014-05-06 13:03:48

标签: bash shell

这是我的专栏:

^MClone: 10% done.^MClone: 11% done.^MClone: 12% done.^MClone: 13% done.^MClone: 14% done.^MClone: 15% done.^MClone: 16% done.

我想将每行Clone: xx%分开

正如预期的结果:

Clone: 10%
Clone: 11%
Clone: 12%
etc..

每一行应包含每个pourcentage,而不是只包含一行。

3 个答案:

答案 0 :(得分:4)

您可以使用grep

$ grep -o 'Clone: [0-9]*%' file
Clone: 10%
Clone: 11%
Clone: 12%
Clone: 13%
Clone: 14%
Clone: 15%
Clone: 16%

这将查找Clone: <numbers>%格式的字符串并打印它们。

来自man grep

  

-o , - 仅匹配

     

仅打印匹配行的匹配(非空)部分   这个部分在一个单独的输出线上。

答案 1 :(得分:2)

使用sed^M代表\r

sed -e 's/\r/\n/g' -e 's/ done\.//g' file

答案 2 :(得分:0)

这也可以,

sed 's/\^M//g;s/done.//g;s/% /%\n/g' file