Hi,

> I don't have 552 passwords, but I use pass(1) also as a bookmark for
> websites.
>
>       $ pass show www/foss/kernel/bugzilla/
>       www/foss/kernel/bugzilla
>       ├── alx
>       │   ├── id
>       │   └── pass
>       └── url
>
> For example, for the kernel bugzilla, you can see that I not only store
> the password, but I also store the username (id), and the url.
>
>       $ pass show www/foss/kernel/bugzilla/url
>       https://bugzilla.kernel.org/
>
>       $ pass show www/foss/kernel/bugzilla/alx/id
>       [email protected]

Is there any good reason for doing it this way? Most people would put
everything in one file, encoded via `key: value` pairs.

        $ pass show bugzilla.kernel.org
        correcthorsebatterystaple
        login: [email protected]
        url: https://bugzilla.kernel.org/

You could then `grep`/`sed` the relevant information out of the file.

Best regards,
Stefan

On 2023-09-24T15:22:25+0200, Alejandro Colomar wrote:
> Hi,
> 
> I would like to be able to filter the results of pass using standard
> Unix tools.  The reason is I have a rather large password database (and
> it's only going to increase):
> 
>       $ pass show | wc -l
>       552
> 
> I don't have 552 passwords, but I use pass(1) also as a bookmark for
> websites.
> 
>       $ pass show www/foss/kernel/bugzilla/
>       www/foss/kernel/bugzilla
>       ├── alx
>       │   ├── id
>       │   └── pass
>       └── url
> 
> For example, for the kernel bugzilla, you can see that I not only store
> the password, but I also store the username (id), and the url.
> 
>       $ pass show www/foss/kernel/bugzilla/url 
>       https://bugzilla.kernel.org/
> 
>       $ pass show www/foss/kernel/bugzilla/alx/id 
>       [email protected]
> 
> 
> The problem comes when I need to search for something I don't remember:
> Let's say I want to see everything I have for "kernel", but don't
> remember where kernel is:
> 
>       $ pass find kernel
>       Search Terms: kernel
>       └── www
>           └── foss
>               └── kernel
> 
> Okay, so I want to search "www/foss/kernel"; but I have to type it!  It
> would be preferable to have some '--find' ('-f') that worked like this:
> (The name --find would be because it would use find(1) underneath.)
> 
>       $ pass find --find kernel
>       www/foss/kernel/
> 
> (Notice the trailing slash (which find(1) doesn't add).  It's useful to
>  know it's a dir.)
> 
> Then I would just pass that to my next command:
> 
>       $ pass find --find kernel \
>         | xargs pass show --find
>       www/foss/kernel/
>       www/foss/kernel/smtp/
>       www/foss/kernel/smtp/pass
>       www/foss/kernel/bugzilla/
>       www/foss/kernel/bugzilla/url
>       www/foss/kernel/bugzilla/alx/
>       www/foss/kernel/bugzilla/alx/id
>       www/foss/kernel/bugzilla/alx/pass
> 
> And then I can just grep from there what I need (say the bugzilla
> password):
> 
>       $ pass find --find kernel \
>         | xargs pass show --find \
>         | grep 'bugzilla.*/pass'
>       www/foss/kernel/bugzilla/alx/pass
> 
> And finally show the pass:
> 
>       $ pass find --find kernel \
>         | xargs pass show --find \
>         | grep 'bugzilla.*/pass' \
>         | xargs pass show
>       pw
> 
> 
> Would you want this feature?  If you agree, I'll start writing it, and
> will ask if I have any doubts.
> 
> Thanks,
> Alex


Reply via email to