27211;18:05:03479;20161025;0;0;0;0;10991;0;10991;000;0;0;000;1000000;0;0;000;0;0;0;82
;
之后的第二个字符串是时间。 gg:mm:sssss:
。我只想成为gg:mm:ss:
像这样:
27211;18:05:03;20161025;0;0;0;0;10991;0;10991;000;0;0;000;1000000;0;0;000;0;0;0;82
我尝试使用cut
,但在第n次出现角色后删除了所有内容,现在我被卡住了,请帮助。
答案 0 :(得分:1)
试试这个衬垫:
angular.module('MyApp',['ngMaterial'])
.controller('AppCtrl', function($mdColors) {
this.color1 = $mdColors.getThemeColor('primary-600');
this.color2 = $mdColors.getThemeColor('primary-100');
});
它从第2列删除最后3个字符。
如果你是sed的粉丝:
awk -F';' -v OFS=";" 'sub(/...$/,"",$2)+1' file
答案 1 :(得分:0)
使用sed
:
sed -r 's/^([^;]+;[^;]+)...;/\1;/' file
(OR)
sed -r 's/^([^;]+;[0-9]{2}:[0-9]{2}:[0-9]{2})...;/\1;/' file
答案 2 :(得分:0)
它也可以是sed 's/(.*)([0-9]{2}\:){2}([0-9]{3})[0-9]*\;(.*)/\1\2\3\4/g'
它不是很干净,但至少对我来说更清楚。
此致
答案 3 :(得分:0)
我为此使用perl:
perl -pe 's/(?<=:\d\d)\d+(?=;)//' file
删除&#34;冒号数字&#34;之间的任何数字。和分号(仅限第一个匹配,不在行中全局)。
如果您想就地编辑文件:perl -i -pe ...
答案 4 :(得分:0)
使用sed:
sed -E 's/(:[0-9]{2})[0-9]{3}/\1/' file
或perl:
perl -pe's/:\d\d\B\K...//' file