Hello & welcome!

Unfortunately I cannot help you with Osmosis but there are other users who certainly can. I just lack experience with Osmosis, sorry.

In case you do not succeed using Osmosis for this task, there is an alternative. But - and that’s a real disadvantage - you cannot write PBF as output. Nevertheless, if you want to try, here is an example:

o5mfilter bremen.osm --keep"highway=" >streets.osm

You can save a lot of time for filtering if you take .o5m for input instead of .osm format:

osmconvert bremen.osm.pbf --out-o5m >bremen.o5m
o5mfilter bremen.o5m --keep"highway=" >streets.osm

If you want to get just major streets, try this:

o5mfilter bremen.o5m --keep"highway=primary =secondary" >streets.osm

If you need just names and nothing else, take this command:

o5mfilter bremen.o5m --keep"highway=primary =secondary" --keep-tags="highway= name=" >streets.osm

and so on…