Jump to content

Command Line Search "Tools"


Recommended Posts

I search for stuff so often that I've now turned a number of common queries into little functions/aliases to use on command line. I do this on WSL, Windows' Linux subsystem, using BASH and with XMLStarlet installed. I put it on my ~/.bashrc so it loads up automatically.


They are all ignoring upper case/lower case. "Schematic" also searches for unlock by perks and skills.


alias loc='grep -i Localization.txt -e'
alias sel='xmlstarlet sel'

function schematic() {
    xmlstarlet sel -t -m / --var "l='abcdefghijklmnopqrstuvwxyz'" --var "u='ABCDEFGHIJKLMNOPQRSTUVWXYZ'" -m "//item/property/property[@name='Recipes_to_learn' and contains(translate(@value, \$u, \$l), translate('${1}', \$u, \$l))]" -o "Schematic " -v ../../@name -o ": " -v @value -n items.xml
    xmlstarlet sel -t -m / --var "l='abcdefghijklmnopqrstuvwxyz'" --var "u='ABCDEFGHIJKLMNOPQRSTUVWXYZ'" -m "//recipe[contains(translate(@name, \$u, \$l), translate('${1}', \$u, \$l))]" -v "name(..)" -o " " -v ../@name -o ": " -v @name -o " (" -v @unlock_level -o ")" -n progression.xml

function item() {
    xmlstarlet sel -t -m / --var "l='abcdefghijklmnopqrstuvwxyz'" --var "u='ABCDEFGHIJKLMNOPQRSTUVWXYZ'" -m "//item[contains(translate(@name,\$u,\$l),translate('${1}',\$u,\$l))]" -c . -n items.xml

function block() {
    xmlstarlet sel -t -m / --var "l='abcdefghijklmnopqrstuvwxyz'" --var "u='ABCDEFGHIJKLMNOPQRSTUVWXYZ'" -m "//block[contains(translate(@name,\$u,\$l),translate('${1}',\$u,\$l))]" -c . -n blocks.xml

function recipe() {
    xmlstarlet sel -t -m / --var "l='abcdefghijklmnopqrstuvwxyz'" --var "u='ABCDEFGHIJKLMNOPQRSTUVWXYZ'" -m "//recipe[contains(translate(@name,\$u,\$l),translate('${1}',\$u,\$l))]" -c . -n recipes.xml

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...