Fsdb::F...r::dbrow(3)
πΈ NAME πΈ
Okay bestie, meet dbrow β from the manual page Fsdb::F...r::dbrow(3) (User Contributed Perl Documentation, if you were curious). Its whole thing is: select rows from an Fsdb file based on arbitrary conditions. Thatβs the name, no cap. π
β¨ SYNOPSIS β¨
dbrow [-vw] CONDITION [CONDITION...]
Yep, thatβs the summoning spell: dbrow, then [-vw], then one or more CONDITIONs. Periodt. π
π¦ DESCRIPTION π¦
Select rows for which all CONDITIONS are true. Literally all of them β if even one condition is false, that row is not invited to the group chat. π
Conditions are specified as Perl code, and column names are embedded in there, preceded by underscores. So youβre writing lil Perl-flavored conditions and letting dbrow vibe-check the rows. β¨
π OPTIONS π
Okay options time β donβt skip, these are the rules:
-vβ Invert the selection, picking rows where at least one condition does not match. Itβs giving uno reverse card π.
This module also supports the standard fsdb options, bestie:
-dβ Enable debugging output.-wor--warningsβ Enable warnings in user supplied code.-ior--inputInputSource β Read from InputSource, typically a file name, or"-"for standard input, or (if in Perl) aIO::Handle,Fsdb::IOorFsdb::BoundedQueueobjects.-oor--outputOutputDestination β Write to OutputDestination, typically a file name, or"-"for standard output, or (if in Perl) aIO::Handle,Fsdb::IOorFsdb::BoundedQueueobjects.--autorunor--noautorunβ By default, programs process automatically, butFsdb::Filterobjects in Perl do not run until you invoke therun()method. The"--(no)autorun"option controls that behavior within Perl.--headerH β Use H as the full Fsdb header, rather than reading a header from then input.--helpβ Show help.--manβ Show full manual.
π SAMPLE USAGE π
Demo time, bestie β exact commands, exact facts, all the vibes. π«Ά
Input:
#fsdb account passwd uid gid fullname homedir shell
johnh * 2274 134 John_Heidemann /home/johnh /bin/bash
greg * 2275 134 Greg_Johnson /home/greg /bin/bash
root * 0 0 Root /root /bin/bash
# this is a simple database
Command:
cat DATA/passwd.fsdb | dbrow '_fullname =~ /John/'
Output:
#fsdb account passwd uid gid fullname homedir shell
johnh * 2274 134 John_Heidemann /home/johnh /bin/bash
greg * 2275 134 Greg_Johnson /home/greg /bin/bash
# this is a simple database
# | /home/johnh/BIN/DB/dbrow
π BUGS π
Bug alert: it doesnβt detect references to unknown columns in conditions. So yeah, thatβs the tea. π
Also, the original page has this little end-of-file artifact β keeping it exactly as it appears:
END
#' for font-lock mode.
exit 1;
π CLASS FUNCTIONS π
Perl besties, this part is for you:
new
$filter = new Fsdb::Filter::dbrow(@arguments);
Create a new dbrow object, taking command-line arguments.
set_defaults
$filter->set_defaults();
Internal: set up defaults.
parse_options
$filter->parse_options(@ARGV);
Internal: parse command-line arguments.
setup
$filter->setup();
Internal: setup, parse headers.
run
$filter->run();
Internal: run over each rows. (Their words, not mine β iconic grammar chaos. π)
π AUTHOR and COPYRIGHT π
Copyright (C) 1991-2018 by John Heidemann johnh@isi.edu.
This program is distributed under terms of the GNU general public license, version 2. See the file COPYING with the distribution for details.
xoxo π β footer kiss: perl v5.32.1, dated 2024-08-02, for Fsdb::F...r::dbrow(3). Slay, bestie. π
π¦ where this page comes from
- epel 9: perl-Fsdb 2:3.9-1.el9 Β· GPLv2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms