I encountered a weird issue with globbing in perl not returning all files, while I was testing out a script for recursive dir-processing on my Synology NAS.
Basically it didn't show (/match?) all the files in a specific directory. If I move the file to a different directory or even rename it, it STILL doesn't show, as if something is wrong with the file.
If I copy the file to a new file, neigher of the files are showing.
I can pipe more data into the file and touch it - It doesn't make a difference until I create a new file (e.g. pipe new data into it, thus overwriting it):
This has caused some serious headscratching... The closest thing I got while googling, was someone claiming that glob is heavily buggy.
I'm open to alternatives, but I hope they are not too different, since I've already made a pretty huge script based on the browse-function. I guess I could simply call the 'ls' command itself, but it would be nice to have something more perl-native.
Since I can't post URL's yet, I'll paste the browse script here (for good measure):
Code:
sub browse($);
sub browse($)
{
my $path = $_[0];
if($path !~ /\/$/)
{ $path .= '/'; }
for my $eachFile (glob($path.'*'))
{
if(-d $eachFile)
{ browse($eachFile); }
else
{ print "$eachFile\n"; }
}
}
browse("/volume1/share/testdir/");
Hi,
Can someone please clarify how we are able to use both IO and GLOB symbols of a package variable interchangeably?
Please consider the following code:
open(FH,"myfile") || die "Unable to open file myfile:$@";
my $glob_var = *main::FH{GLOB};
my $io_var = *main::FH{IO};
print $glob_var... (0 Replies)
Hi friends,,
i have find the matching data between 2files.
My file1 have a data like
rs3001336
rs3984736
rs2840532
File2 have a data like
rs3736330 1 2359237 A G 0.28 1.099 0.010
rs2840532 1 2359977 G A 0.363 0.3373 1.123
rs3001336 1 2365193 G A 0.0812 0.07319 1.12 ... (1 Reply)
Hi friends,,
i have find the matching data between 2files.
My file1 have a data like
rs3001336
rs3984736
rs2840532
File2 have a data like
rs3736330 1 2359237 A G 0.28 1.099 0.010
rs2840532 1 2359977 G A 0.363 0.3373 1.123
rs3001336 1 ... (4 Replies)
I am completely new to perl programming. My father is helping me learn said programming language. However, I am stuck on one of the assignments he has given me, and I can't find very much help with it via google, either because I have a tiny attention span, or because I can be very very dense.
... (4 Replies)
If you have a look at this thread, you'll see that users have been posting the output a script which are numbers that range from 2 to 5 decimal places. If I dump this entire thread to txt file, how can I:
1) Delete everything except for numbers of the following formats (where 'x' is a digit and... (5 Replies)
Hi
I Have a directory and i have some files below
abc.txt
abc.gif
gtee.txt
ghod.pid
umni.log
unmi.tar
How can use glob function to grep abc files , i have created a variable "text" and i assigned value as "abc", please suggest me how can we use glob.glob( ) to get the output as below... (2 Replies)
Hi
I need some suggestion on glob function.
I am trying to write a python program to grep some specific files in a particular directory.
In the directory i have some files like below
abc.log
abc.pid
abc.tar
gadd.tar
gat.log
gat.tar
in this directory i need to grep onlu my hostname files,... (1 Reply)
I am using Perl version 5.8.4 and trying to understand the use of regular expression. Following is my code and output.
$string = "Perl is a\nScripting language";
($start) = ($string =~ /\A(.*?) /);
@lines = ($string =~ /^(.*?) /gm);
print "First Word (using \\A): $start\n","Line... (4 Replies)
I used this site to check a script.
ShellCheck - shell script analysis tool
Line 57:
zip -u -q Desktop_Items.zip *.desktop
^-- SC2035: Use ./*glob* or -- *glob* so names with dashes won't become options.
I do not understand what is wrong with my zip... (6 Replies)
Hello All,
I have created a script that searches for different things and "sanitizes" the findings from files. Currently the user is required to put in a hostname (server.serverfarm.abc) one at a time to replace. I would like the user be able to use *.*.abc in grep and then pipe into sed to... (1 Reply)
Discussion started by: jvezinat
1 Replies
LEARN ABOUT CENTOS
radwho
RADWHO(1) FreeRADIUS Daemon RADWHO(1)NAME
radwho - show online users
SYNOPSIS
radwho [-c] [-d raddb_directory] [-F radutmp_file] [-i] [-n] [-N nas_ip_address] [-p] [-P nas_port] [-r] [-R] [-s] [-S] [-u user] [-U user]
[-Z]
DESCRIPTION
The FreeRADIUS server can be configured to maintain an active session database in a file called radutmp. This utility shows the content of
that session database.
OPTIONS -c Shows caller ID (if available) instead of the full name.
-d raddb_directory
The directory that contains the RADIUS configuration files. Defaults to /etc/raddb.
-F radutmp_file
The file that contains the radutmp file. If this is specified, -d is not necessary.
-i Shows the session ID instead of the full name.
-n Normally radwho looks up the username in the systems password file, and shows the full username as well. The -n flags prevents this.
-N nas_ip_address
Show only those entries which match the given NAS IP address.
-p Adds an extra column for the port type - I for ISDN, A for Analog.
-P nas_port
Show only those entries which match the given NAS port.
-r Outputs all data in raw format - no headers, no formatting, fields are comma-separated.
-R Output all data in RADIUS attribute format. All fields are printed.
-s Show full name.
-S Hide shell users. Doesn't show the entries for users that do not have a SLIP or PPP session.
-u user
Show only those entries which match the given username (case insensitive).
-U user
Show only those entries which match the given username (case sensitive).
-Z When combined with -R, prints out the contents of an Accounting-Request packet which can be passed to radclient, in order to "zap"
that users session from radutmp.
For example,
$ radwho -ZRN 10.0.0.1 | radclient -f - radius.example.net acct testing123
will result in all an Accounting-Request packet being sent to the RADIUS server, which tells the server that the NAS rebooted. i.e. It
"zaps" all of the users on that NAS.
To "zap" one user, specifiy NAS, username, and NAS port:
$ radwho -ZRN 10.0.0.1 -u user -P 10 | radclient -f - radius.example.net acct testing123
Other combinations are also possible.
SEE ALSO radiusd(8), radclient(1), radiusd.conf(5).
AUTHOR
Miquel van Smoorenburg, miquels@cistron.nl.
17 Feb 2013 RADWHO(1)