I have the following list

```
my_list <- list(df1 = data.frame(A = c(1:3), B1 = c(4:6), B2 = c(7:9), B3 = c(10:12)),
            df2 = data.frame(A = c(1:4), B1 = c(5:8), B2 = c(9:12), B3 = c(13:16)), 
            df3 = data.frame(A = c(1:5), B1 = c(6:10), B2 = c(11:15), B3 = c(16:20)))

```

and I want to rename the columns `B1`, `B2`, and `B3` in all of the data frames within this list to `new1`, `new2`, and `new3`. Is there a way to do this in one step (or similarly efficiently) using base R (perhaps using the `grep` or `gsub` functions)?