Richard Rublev
Richard Rublev

Reputation: 8164

How to remove word between the slashes?

I need regexp which would remove tinrab in all directories

grep -rl "tinrab" /home/miki/go/src/github.com/meower
/home/miki/go/src/github.com/meower/pusher-service/main.go
/home/miki/go/src/github.com/meower/Dockerfile
/home/miki/go/src/github.com/meower/event/nats.go
/home/miki/go/src/github.com/meower/event/event.go
/home/miki/go/src/github.com/meower/meow-service/handlers.go
/home/miki/go/src/github.com/meower/meow-service/main.go
/home/miki/go/src/github.com/meower/query-service/handlers.go
/home/miki/go/src/github.com/meower/query-service/main.go
/home/miki/go/src/github.com/meower/search/elastic.go
/home/miki/go/src/github.com/meower/search/repository.go
/home/miki/go/src/github.com/meower/Gopkg.lock
/home/miki/go/src/github.com/meower/Gopkg.toml
/home/miki/go/src/github.com/meower/db/repository.go
/home/miki/go/src/github.com/meower/db/postgres.go
/home/miki/go/src/github.com/meower/.git/logs/HEAD
/home/miki/go/src/github.com/meower/.git/logs/refs/heads/master
/home/miki/go/src/github.com/meower/.git/logs/refs/remotes/origin/HEAD
/home/miki/go/src/github.com/meower/.git/config

For example in Dockerfile I have this line

WORKDIR /go/src/github.com/tinrab/meower

My goal is to have line without tinrab

WORKDIR /go/src/github.com/meower

This regexp

replaceAll("/tinrab*/ *", " ")

should somehow be implemented. Any ideas?

If I try

grep -rl "tinrab" /home/miki/go/src/github.com/meower | xargs replaceAll("\/tinrab\/", "")

I got

bash: syntax error near unexpected token `('

Upvotes: 0

Views: 60

Answers (1)

Jonas Berlin
Jonas Berlin

Reputation: 3482

You said you wanted a regexp /tinrab*/ *, but based on the examples you gave I guess /tinrab will do what you want..

grep -rl "tinrab" /home/miki/go/src/github.com/meower | \
  xargs -r sed -i 's!/tinrab!!g'

The general format of the sed expression I used is: s!<from>!<to>!g which works the same as the replaceAll("<from>", "<to>") pseudocode you considered.

Upvotes: 2

Related Questions