Skip to content

Instantly share code, notes, and snippets.

@jwm-art-net
Created November 25, 2013 18:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jwm-art-net/7646636 to your computer and use it in GitHub Desktop.
Save jwm-art-net/7646636 to your computer and use it in GitHub Desktop.
sed delete fluxbox xscreensaver menu entries
# use grep to check the regex:
grep '\[exec[]]\s[(].*[)]\s[{]/usr/lib/xscreensaver/.*\s-root[}]' Downloads/menu
# ie here's what it matches:
# [exec] (Abstractile) {/usr/lib/xscreensaver/abstractile -root}
# [exec] (Anemone) {/usr/lib/xscreensaver/anemone -root}
# [exec] (Anemotaxis) {/usr/lib/xscreensaver/anemotaxis -root}
# [exec] (Apollonian) {/usr/lib/xscreensaver/apollonian -root}
# [exec] (Apple2) {/usr/lib/xscreensaver/apple2 -root}
# [exec] (Attraction) {/usr/lib/xscreensaver/attraction -root}
# continues...
# use sed and grep to check what the regex leaves behind:
sed '\|\[exec[]]\s[(].*[)]\s[{]/usr/lib/xscreensaver/.*\s-root[}]|d' Downloads/menu | grep xscreen
# ie here's what it leaves behind:
# [exec] (Activate ScreenSaver [Next]) {xscreensaver-command -next}
# [exec] (Activate ScreenSaver [Previous]) {xscreensaver-command -prev}
# [exec] (Activate ScreenSaver [Random]) {xscreensaver-command -activate}
# [exec] (Demo Screen Hacks) {xscreensaver-command -demo}
# [exec] (Disable XScreenSaver) {xscreensaver-command -exit}
# [exec] (Enable XScreenSaver) {xscreensaver}
# [exec] (Lock Screen [XScreenSaver]) {xscreensaver-command -lock}
# [exec] (Reinitialize XScreenSaver) {xscreensaver-command -restart}
# [exec] (ScreenSaver Preferences) {xscreensaver-command -prefs}
# [exec] (Screensaver) {xscreensaver-demo}
# use grep to check new regex for what remains:
grep '\[exec[]]\s[(].*[)]\s[{]\b\(xscreensaver\).*[}]' Downloads/menu
# now do the edits for real: (note the -i option means edit in place)
sed -i '\|\[exec[]]\s[(].*[)]\s[{]/usr/lib/xscreensaver/.*\s-root[}]|d' Downloads/menu
sed -i '\|\[exec[]]\s[(].*[)]\s[{]\b\(xscreensaver\).*[}]|d' Downloads/menu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment