Thursday, May 2, 2024
 Popular · Latest · Hot · Upcoming
25
rated 0 times [  25] [ 0]  / answers: 1 / hits: 42356  / 1 Year ago, sun, november 27, 2022, 11:57:36

I recently decided that enough was enough -- I was going to learn to use grep fluently. It's been all of three hours and I'm already stumped by this toy problem.



I'm currently syncing a RAID5 array, the progress of which can be monitored by reading /proc/mdstat. The output of cat /proc/mdstat is shown below.



$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : active raid5 sda4[0] sdb4[1] sdc4[2]
5858765824 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
[=============>.......] resync = 67.3% (1972073120/2929382912) finish=205.7min speed=77537K/sec

md0 : active raid5 sda3[0] sdb3[1] sdc3[2]
998400 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

unused devices: <none>


For fun, I thought I would use watch to monitor /proc/mdstat in real time, pipe it's output into grep, and show only the estimated remaining time.



My approach is as follows:



watch cat /proc/mdstat | grep finish=d+.d | grep d+.d



I'm stumped as to why this produced no output. In fact, the first grep expression produces no output, even though it seems to work on Regex101.



What am I doing wrong?


More From » grep

 Answers
7

If you want to use Perl regex syntax you need -P switch with grep. Check out previously asked guestion here Is grep syntax different from regex?


[#27420] Monday, November 28, 2022, 1 Year  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
njuash

Total Points: 402
Total Questions: 125
Total Answers: 98

Location: Jersey
Member since Sun, Dec 4, 2022
1 Year ago
njuash questions
Wed, Jun 8, 22, 11:53, 2 Years ago
Wed, Nov 30, 22, 11:42, 1 Year ago
Mon, May 30, 22, 04:33, 2 Years ago
Mon, Apr 10, 23, 03:40, 1 Year ago
;