I'm new to Minecraft and did a lot of googling but everyone has a different answer for silk touch.
Does anyone have a definite way to get it with an enchantment table?
Some say you need to be level 17 and have 9 bookshelves before it will show up (random). Others say you need to be between level 20 and 30. One says 30. Another says you can just keep trying over and over using a grindstone to remove the wrong enchantment before trying again.
If you find a villager with no job. Trap it. Place a lectern next to it. It becomes a librarian. Check what it sells. Silk touch? Nope. Break the lectern, the villager reverts to not a librarian. Villagers only keep their jobs if you have bought something from them. Replace the lectern, check (it now has new items for sale), break, rinse and repeat. Once you find it, buy it and the librarian will be locked to always sell it.
Only downside is you need emeralds. But on the upside, you get infinite silk touch.
If you check what the villager sells, don't trade, destroy and replace their lectern, they'll lose their job, get it back, and they'll have a new random enchantment.
Takes forever in the short term but is crazy efficient in the long term.