URIFIND(1)

πŸ“¦
this version Β· 5 versions
, in epel 9

πŸ’… URIFIND(1) β€” like, the urifind manual page, but make it make sense ✨

okay so bestie, this is urifind, a lil Perl script from the perl man pages (@ perl v5.32.1, no cap 🫢). it's genuinely so simple and I'm obsessed. let's go πŸ’–


🌸 NAME 🌸

urifind β€” find URIs in a document and dump them to STDOUT. that's literally it. that's the whole job. iconic.


✨ SYNOPSIS ✨

$ urifind file

like... that's it. one file. go off πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

urifind is a simple script that finds URIs in one or more files (using URI::Find) and outputs them to STDOUT. That's it. no cap, that is the entire personality. and honestly? we love a script that knows what it is πŸ’œ

To find all the URIs in file1, use:

$ urifind file1

To find the URIs in multiple files, simply list them as arguments β€” like, just keep going, she can handle it:

$ urifind file1 file2 file3

urifind will read from STDIN if no files are given or if a filename of - is specified. pipe gang rise up 🌈:

$ wget http://www.boston.com/ -O - | urifind

When multiple files are listed, urifind prefixes each found URI with the file from which it came. look at her being all organized and helpful πŸŽ€:

$ urifind file1 file2
file1: http://www.boston.com/index.html
file2: http://use.perl.org/

This can be turned on for single files with the -p ("prefix") switch:

$urifind -p file3
file1: http://fsck.com/rt/

It can also be turned off for multiple files with the -n ("no prefix") switch β€” main character energy, no labels, just vibes:

$ urifind -n file1 file2
http://www.boston.com/index.html
http://use.perl.org/

By default, URIs will be displayed in the order found; to sort them ascii-betically, use the -s ("sort") option. To reverse sort them, use the -r ("reverse") flag (-r implies -s β€” she said what she said πŸ’€):

$ urifind -s file1 file2
http://use.perl.org/
http://www.boston.com/index.html
mailto:webmaster@boston.com

$ urifind -r file1 file2
mailto:webmaster@boston.com
http://www.boston.com/index.html
http://use.perl.org/

Finally, urifind supports limiting the returned URIs by scheme or by arbitrary pattern, using the -S option (for schemes) and the -P option. Both -S and -P can be specified multiple times. stack 'em like bracelets bestie ✨:

$ urifind -S mailto file1
mailto:webmaster@boston.com

$ urifind -S mailto -S http file1
mailto:webmaster@boston.com
http://www.boston.com/index.html

-P takes an arbitrary Perl regex. It might need to be protected from the shell β€” yes, the shell is dramatic, just quote it πŸ™ˆ:

$ urifind -P 's?html?' file1
http://www.boston.com/index.html

$ urifind -P '\.org\b' -S http file4
http://www.gnu.org/software/wget/wget.html

Add a -d to have urifind dump the refexen generated from -S and -P to STDERR. -D does the same but exits immediately β€” like, dump and dip πŸƒβ€β™€οΈ:

$ urifind -P '\.org\b' -S http -D
$scheme = '^(\bhttp\b):'
@pats = ('^(\bhttp\b):', '\.org\b')

To remove duplicates from the results, use the -u ("unique") switch. no repeats allowed, we're not doing that here 🚫


πŸ‘‘ OPTION SUMMARY πŸ‘‘

  • -s β€” Sort results.
  • -r β€” Reverse sort results (implies -s).
  • -u β€” Return unique results only.
  • -n β€” Don't include filename in output.
  • -p β€” Include filename in output (0 by default, but 1 if multiple files are included on the command line).
  • -P $re β€” Print only lines matching regex $re (may be specified multiple times).
  • -S $scheme β€” Only this scheme (may be specified multiple times).
  • -h β€” Help summary.
  • -v β€” Display version and exit.
  • -d β€” Dump compiled regexes for -S and -P to STDERR.
  • -D β€” Same as -d, but exit after dumping.

🧚 AUTHOR 🧚

darren chamberlain <darren@cpan.org> β€” ty for your service king 🫢


(C) 2003 darren chamberlain

This library is free software; you may distribute it and/or modify it under the same terms as Perl itself.


🌈 SEE ALSO 🌈

URI::Find β€” the actual brains behind the operation, go show her some love.


and that's the whole page bestie!! ✨ no crumbs left. this was perl v5.32.1, dated 2021-07-27, and it's giving "small script, big heart" πŸ’… mwah, ily, go find some URIs πŸ¦‹πŸ’–

πŸ“¦ where this page comes from