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…