0

これらの混合列で時刻文字列を取得する方法:

new1   new11       1.1.1.1     application    id1223    831582      start   09:21:12 05/24/2013 --  --
new1   new11       1.1.1.1     application    ffd1234   1085500     start   --  --  09:21:04 05/24/2013

予想されるビュー:

09:21:12 05/24/2013
09:21:04 05/24/2013
4

5 に答える 5

3
perl -lne 'print $1 if(/(\d+:\d+:\d+\s+\d+\/\d+\/\d+)/)' your_file
于 2013-05-28T10:11:08.493 に答える
2

これはうまくいくかもしれません(GNU sed):

sed -r 's|.*(..:..:.. ../../....).*|\1|' file
于 2013-05-28T10:47:10.857 に答える
2
sed -r 's/.*start(.*)/\1/;s/-|  //g' file

また

awk '{gsub(/-/,"",$0);print $8,$9}' file
于 2013-05-28T10:30:51.833 に答える
1

ではないその範囲の列を出力します"--"

perl -lane 'print "@{[grep { $_ ne q(--) } @F[7..$#F] ]}"' file
于 2013-05-28T15:45:32.997 に答える