file shrinkers
File Splitter 1.3
Split large text/html files into smaller files. I find it much faster and more accurate than cut and paste. You embed commands in the big file telling it which pieces of it are to go where, then let Splitter do the work. It is much faster and more accurate than trying to select huge blocks of text in an editor. You dont accidentally lose or duplicate text. Keeping files small makes the site more responsive. more>>
File Splitter - Split large text/html files into smaller files. I find it
much faster and more accurate than cut and paste.
You embed commands in the big file telling it which pieces
of it are to go where, then let Splitter do the work. It is
much faster and more accurate than trying to select huge
blocks of text in an editor. You dont accidentally lose or
duplicate text. Keeping files small makes the site more
responsive.
In the following pretend that [...] are actually lessthan...greater than.
You embed multiple [split tags in the file to be split of
the form:
[split charlie.html]
...
stuff that will end up in the charlie.html file.
...
[/split]
The text between the [split xxx] and [/split] tags is split
off into that named file and the text is removed from the
original file along with the tags.
1. Filenames may be absolute or relative, with no quotes or spaces.
2. Tags may be nested, but they must balance (equal number
of [split xxx] and [/split]).
3. Tags are case-insensitive, i.e. may be lower or upper case.
4. Multiple [split xxx] tags may be directed to the same
file, where they will be appended.
5. If the files mentioned in the split tags already exist,
they will be overwritten.
6. Anything not inside [split xxx].. [/split] is retained in
the original file. Everything else is removed.
The file being split must be small enough to fit in RAM.
Java array addressing limits the file to 2GB, though other
considerations mean in practice the largest file you can
handle will be smaller still.
To install, Extract the zip download with Winzip, available from
http://www.winzip.com (or similar unzip utility) into any
directory you please, often C:\ -- ticking off the (user
folder names) option. To run as an application, type:
java -jar C:\com\mindprod\splitter\splitter.jar x.html
adjusting as necessary to account for where the jar file is.
Enhancements:
Version 1.3
allow you to specify encoding
System Requirements:<<less
File Lister 2.3
File Lister provides a Web interface for listing files and directories. more>>
FileLister is meant to be an open source alternative for listing files/directories with an easy navigateable (web-)interface.
file*HANDLER 0.13
file*HANDLER is primarily a Perl script which coordinates some free media conversion packages with a PostgreSQL back end. more>>
Since the server caches media into the SQL database on demand, as the network grows, the network improves.
Its gridded directory sharing/browsing/searching with streaming audio/video as well as flat text/doc/pdf/image display for everyone. Its written with a few hooks for tags that would be included in your actual front page so that the UI is discard-able -- anyone can quickly rewrite a whole new [GT]UI without having to worry about the syntax of the newest version of dojo.licio.r or whatever.
If you wanted to ignore the JS/HTML/CSS hooks then you can easily use the system to make direct requests that just return lists formatted as HTML table-bodies. In other words, the markup IS the markup.
As such, Ive whipped up a Dojo 0.2 Widget that coordinates the serving backend with a UI so anyone can embed f*H functionality anywhere, or easily customize a provided default page.
A file*HANDLER server is really a few constituent parts Ive tied up for you (top down):
- A local web page providing the UI(served by an HTTP server of your choice) that is generated by a cgi script with embedded AJAX.
- A secondary portion of the same CGI script, acting as middle-ware, which communicates, via AJAX, with the local front page to reconcile asynchronous JavaScript requests with the file*HANDLER sub-network back-end.
- An always-on network server written in PERL that serves to the front and end communicates laterally with everyone elses file*HANDLER back-end PERL server additionally, it manages indexing of content directories you choose to serve.
- A PostgreSQL database that is accessed only via internal PERL routines called from your front page.
So for example, a remote user comes to your site. First, not only can they browse and search your files, but they can also browse and search the files of anyone else hosting a file*HANDLER server that your local server knows about. (file*HANDLER identifies other servers on the network automatically). The user can now read/view/listen/watch by stream any content they find from whomevers server. Theres no download, so theres so actual sharing, just direct streaming to the users browser.
File::Searcher 0.91
File::Searcher is a searches for files and performs search/replacements on matching files. more>>
SYNOPSIS
use File::Searcher;
my $search = File::Searcher->new(*.cgi);
$search->add_expression(name=>street,
search=>1234 Easy St.,
replace=>456 Hard Way,
options=>i);
$search->add_expression(name=>department,
search=>(Dept.|Department)(s+)(d+),
replace=>$1$2$3,
options=>im);
$search->add_expression(name=>place,
search=>Portland, OR(.*?)97212,
replace=>Vicksburg, MI${1}49097,
options=>is);
$search->start;
# $search->interactive; SEE File::Searcher::Interactive
@files_matched = $search->files_matched;
print "Files Matchedn";
print "t" . join("nt", @files_matched) . "n";
print "Total Files:t" . $search->file_cnt . "n";
print "Directories:t" . $search->dir_cnt . "n";
my @files_replaced = $search->expression(street)->files_replaced;
my @files_replaced = $search->expression($expression)->files_replaced;
my %matches = $search->expression(street)->matches;
my %replacements = $search->expression(street)->replacements;
File::Searcher allows for the traversing of a directory tree for files matching a Perl regular expression. When a match is found, the statistics are stored and if the file is a text file a series of searches and replacements can be performed. File::Searcher has options that allow for backing-up / archiving files and has OO access to reporting and statistics of matches and replacements.
File::Size 0.06
File::Size is a Perl module to get the size of files and directories. more>>
SYNOPSIS
Get the size for directory /etc/ with the block size of 1024 while following symbolic links:
my $obj = File::Size->new(
dir => /etc/,
blocksize => 1024,
followsymlinks => 1,
humanreadable => 1
);
print $obj->getsize(), "n";
File::Size is used to get the size of files and directories.
There are 6 methods you can use:
new
There are 4 optional hash values for the new() method:
dir
The directory you want the module to get the size for it. Default is current working directory.
blocksize
The blocksize for the output of getsize() method. default is 1 (output in bytes).
followsymlinks
If you want to follow symlinks for directories and files, use this option. The default is not to follow symlinks.
humanreadable
If you want output size in human readable format (e.g. 2048 -> 2.0K), set this option to 1.
You dont have to specify any of those options, which means this is okay:
print File::Size->new()->getsize(), " bytesn";
This is okay too:
print File::Size->new()->setdir( /etc/ )->setblocksize( 1024**2 )->getsize(), " MBn";
setdir
Used to set (or get - if called without parameters) the directory. Example: $obj->setdir( /etc/ );
setblocksize
Used to set (or get - if called without parameters) the block size. Example: $obj->setblocksize( 1024 );
setfollowsymlinks
Used to set if you want to follow symbolic links or not. If called without parmeters, returns the current state. Example: $obj->setfollowsymlinks( 1 );
sethumanreadable
Used to set (or get - if called without parameters) if you want human-readable output sizes. Example: $obj->sethumanreadable( 1 );
getsize
Used to calculate the total size of the directory. Prints output according to the block size you did or didnt specify.
File-center 0.3
File-center is a simple Web application to download and upload files. more>>
File-center uses the PATH_INFO to pass the name of the directory or of the file in the URL.
X File Explorer 1.00
X File Explorer is a file manager for the X Window System. more>>
Xfe aims to be the file manager of choice for all the Unix addicts!
Why another file manager when the excellent Konqueror or Nautilus exist on Linux systems? The answer is quite simple : these file managers are very good, features rich and look wonderful, but they are like a brontosaurus when you are a console addict and only want to copy some files or delete it. Another problem is that they require either the whole Gnome or KDE desktops to be installed on your system!
On the contrary, Xfe is small, very rapid and only requires the FOX library to be fully functional. It can be launched from the command line in a fraction of second, and can efficiently complete the set of command line tools.
Main features:
- Four different file manager styles (one panel, two panels, tree list and one panel, tree list and two panels)
- Integrated text viewer (X File View, xfv)
- Integrated RPM viewer / installer / uninstaller (X File Query, xfq)
- Status line
- File associations
- Auto save registry
- Right mouse click pop-up menu in tree list and file list
- Change file(s) attributes
- Mount/Unmount devices (for Linux only)
- Toolbar
- Bookmarks (up to 20)
- Color schemes (GNOME, KDE, Windows...)
- Drag and Drop ( ctrl -> copy, shift -> move, alt -> symlink )
- Create / Extract archives (tar, zip, gzip, bzip2, compress formats are supported)
- Tool tips for long file names
- Progress bars or dialogs for lengthy file operations
- Image preview as thumbnails
- Ability to enqueue multimedia files (open command)
Key bindings:
- Help - F1
- View - F3, return
- Edit - F4
- Copy - F5, ctrl-c
- Cut - ctrl-x
- Paste - ctrl-v
- Move - F6, ctrl-d
- Rename - ctrl-n
- Delete - F8, del, ctrl-del
- Symlink - ctrl-s
- New file - F2
- New folder - F7
- Properties - F9
- Tree and one panel - ctrl-F1
- Tree and two panels - ctrl-F2
- One panel - ctrl-F3
- Two panels - ctrl-F4
- Hidden files - ctrl-F5
- Hidden folders - ctrl-F6
- Execute - ctrl-e
- Go home - ctrl-h
- Go up - backspace
- Terminal - ctrl-t
- Console file manager - ctrl-k
- Refresh - ctrl-r
- Select all - ctrl-a
- Deselect all - ctrl-z
- Invert selection - ctrl-i
- Add bookmark - ctrl-b
- Mount (Linux only) - ctrl-m
- Unmount (Linux only) - ctrl-u
- Quit - ctrl-q
jsp File Browser 1.2
jsp File Browser is an easy to use and easy to install file browser java server page. more>>
Main features:
- Create, copy, move, rename and delete files and directories
- View Files (pictures, movies, pdf, html,...)
- Edit textfiles
- Upload files to the server (Status via Upload monitor)
- Download files from the server
- Download groups of files and folders as a single zip file that is created on the fly
- Execute native commands on the server (e.g ls, tar, chmod,...)
- View entries and unpack zip, jar, war and gz files on the server
- Just one file, very easy to install (in fact, just copy it to the server)
- Customizable layout via css file
- Restrict file access via black or whitelist
It should work with any JSP1.1 compatible server(e.g. Tomcat>=3.0), I tested it on Tomcat 4.0, Resin 2.1.7 and Jetty.
Enhancements:
- A read-only version was added.
- It is now also usable as an upload-center.
- Some UI enhancements were made, like shortkeys and a better layout.
- It should also load a bit faster.
File::Where 0.05
File::Where is a Perl module to find the absolute file for a program module; absolute dir for a repository. more>>
SYNOPSIS
#######
# Subroutine interface
#
use File::Where qw(pm2require where where_dir where_file where_pm where_repository);
$program_module = is_module(@program_modules);
@program_modules = dir_pms( $dir );
@program_modules = program_modules( $dir, file_flag, @dirs);
$file = pm2require($pm);
@program_modules = repository_pms($repository);
$abs_file = where($relative_file);
$abs_file = where($relative_file, @path);
($abs_file, $inc_path, $rel_fle) = where($relative_file)
($abs_file, $inc_path, $rel_fle) = where($relative_file, @path);
$abs_dir = where($relative_dir, , nofile);
$abs_dir = where($relative_dir, @path, nofile);
($abs_dir, $inc_path, $rel_dir) = where($relative_dir, , nofile);
($abs_dir, $inc_path, $rel_dir) = where($relative_dir, @path, nofile);
$abs_dir = where_dir($relative_dir);
$abs_dir = where_dir($relative_dir, @path;
$abs_dir = where_dir($relative_dir, @path;
($abs_dir, $inc_path, $rel_dir) = where_dir($relative_dir);
($abs_dir, $inc_path, $rel_dir) = where_dir($relative_dir, @path);
($abs_dir, $inc_path, $rel_dir) = where_dir($relative_dir, @path);
$abs_file = where_file($relative_file);
$abs_file = where_file($relative_file, @path);
$abs_file = where_file($relative_file, @path);
($abs_file, $inc_path, $rel_fle) = where_file($relative_file)
($abs_file, $inc_path, $rel_fle) = where_file($relative_file, @path)
($abs_file, $inc_path, $rel_fle) = where_file($relative_file, @path)
$abs_file = where_pm($pm);
$abs_file = where_pm($pm, @path);
$abs_file = where_pm($pm, @path);
($abs_file, $inc_path, $require) = where_pm($pm);
($abs_file, $inc_path, $require) = where_pm($pm, @path);
($abs_file, $inc_path, $require) = where_pm($pm, @path);
$abs_dir = where_repository($repository);
$abs_dir = where_repository($repository, @path);
$abs_dir = where_repository($repository, @path);
($abs_dir, $inc_path, $rel_dir) = where_repository($repository);
($abs_dir, $inc_path, $rel_dir) = where_repository($repository, @path);
($abs_dir, $inc_path, $rel_dir) = where_repository($repository, @path);
#######
# Class interface
#
$program_module = File::Where->is_module(@program_modules);
@program_modules = File::Where->dir_pms( $dir );
@program_modules = File::Where->program_modules( $dir, file_flag, @dirs);
$file = File::Where->pm2require($pm);
@program_modules = File::Where->repository_pms($repository);
$abs_file = File::Where->where($relative_file);
$abs_file = File::Where->where($relative_file, @path);
$abs_dir = File::Where->where($relative_dir, , nofile);
$abs_dir = File::Where->where($relative_dir, @path, nofile);
($abs_file, $inc_path, $require) = File::Where->where($relative_file)
($abs_file, $inc_path, $require) = File::Where->where($relative_file, @path)
($abs_dir, $inc_path, $rel_dir) = File::Where->where($relative_dir, , nofile);
($abs_dir, $inc_path, $rel_dir) = File::Where->where($relative_dir, @path, nofile);
$abs_dir = File::Where->where_dir($relative_dir);
$abs_dir = File::Where->where_dir($relative_dir, @path;
$abs_dir = File::Where->where_dir($relative_dir, @path;
($abs_dir, $inc_path, $rel_dir) = File::Where->where_dir($relative_dir);
($abs_dir, $inc_path, $rel_dir) = File::Where->where_dir($relative_dir, @path);
($abs_dir, $inc_path, $rel_dir) = File::Where->where_dir($relative_dir, @path);
$abs_file = File::Where->where_file($relative_file);
$abs_file = File::Where->where_file($relative_file, @path);
$abs_file = File::Where->where_file($relative_file, @path);
($abs_file, $inc_path, $require) = File::Where->where_file($relative_file)
($abs_file, $inc_path, $require) = File::Where->where_file($relative_file, @path)
($abs_file, $inc_path, $require) = File::Where->where_file($relative_file, @path)
$abs_file = File::Where->where_pm($pm);
$abs_file = File::Where->where_pm($pm, @path);
$abs_file = File::Where->where_pm($pm, @path);
($abs_file, $inc_path, $require) = File::Where->where_pm($pm);
($abs_file, $inc_path, $require) = File::Where->where_pm($pm, @path);
($abs_file, $inc_path, $require) = File::Where->where_pm($pm, @path);
$abs_dir = File::Where->where_repository($repository);
$abs_dir = File::Where->where_repository($repository, @path);
$abs_dir = File::Where->where_repository($repository, @path);
($abs_dir, $inc_path, $rel_dir) = File::Where->where_repository($repository);
($abs_dir, $inc_path, $rel_dir) = File::Where->where_repository($repository, @path);
($abs_dir, $inc_path, $rel_dir) = File::Where->where_repository($repository, @path);
From time to time, an program needs to know the abolute file for a program module that has not been loaded. The File::Where module provides methods to find this information. For loaded files, using the hash %INC may perform better than using the methods in this module.
File::Maker 0.05
File::Maker is a Perl module that mimics a make by loading a database and calling targets methods. more>>
SYNOPSIS
#####
# Subroutine interface
#
use File::Maker qw(load_db);
%data = load_db($pm);
######
# Object interface
#
require File::Maker;
$maker = $maker->load_db($pm);
$maker->make_targets(%targets, @targets, %options );
$maker->make_targets(%targets, %options );
$maker = new File::Maker(@options);
Generally, if a subroutine will process a list of options, @options, that subroutine will also process an array reference, @options, [@options], or hash reference, %options, {@options}. If a subroutine will process an array reference, @options, [@options], that subroutine will also process a hash reference, %options, {@options}. See the description for a subroutine for details and exceptions.
When porting low level C code from one architecture to another, makefiles do provide some level of automation and save some time. However, once Perl or another high-level language is up and running, the high-level language usually allows much more efficient use of programmers time; otherwise, whats point of the high-level language. Thus, makes great economically sense to switch from makefiles to high-level language.
The File::Maker program module provides a "make" style interface as shown in the herein above. The @targets contains a list of targets that mimics the targets of a makefile. The targets are subroutines written in Perl in a separate program module from the File::Maker. The separate target program module inherits the methods in the File::Maker program module as follows:
use File::Maker;
use vars qw( @ISA );
@ISA = qw(File::Maker);
The File::Maker methods will then find the target subroutines in the separate target program module.
The File::Maker provides for the loading of a hash from a program module to provide for the capabilities of defines in a makefile. The option pm = $file> tells File::Maker to load a database from the __DATA__ section of a program module that is in the Tie::Form format. The Tie::Form format is a very flexible lenient format that is about as close to a natural language form and still have the precision of being machine readable.
This provides a more flexible alternative to the defines in a makefile. The define hash is in a separate, very flexible form program module. This arrangement allows one target program module that inherits the File::Maker program module to produce as many different outputs as there are Tie::Form program modules.
VFU File Manager 4.05
VFU is console (text mode) file manager for UNIX/Linux. more>>
During the years I tried to make short attractive list of features which VFU has. Attractive as Advertising above :) and it does not seem to work... at least it didnt for me and I never liked it.
I made all possible to make VFU cover all file managing needs and offer large set of behaviour options. If I succeeded or not, you can decide for yourself but without trying I believe noone can say for sure.
Installation:
1. how to compile vfu
run `make from vfu base directory
this should compile everything
to compile each part of vfu manually do this:
-- go to `vslib directory
-- run `make
-- go to `vfu directory
-- run `make
if something goes wrong, check these:
-- if your `curses.h file locations is not `/usr/include/ncurses
you have to change this in the Makefile.
-- if vslib library is not in the `../vslib directory you also
have to change this in the Makefile.
2. how to install vfu
run `install script from vfu base directory
install script checks if all required files are available/built and then does this:
cp vfu/vfu rx/rx_* /usr/local/bin
cp vfu.1 /usr/local/man/man1
cp vfu.conf /usr/local/etc
3. how to install vfu manually
-- you have to copy `vfu in the `/usr/local/bin or
`/usr/bin directory and set mode to 755 `rwxr-xr-x
the owner is not significant ( root is also possible ).
-- there is preliminary man page ( vfu.1 ) which could be
copied to /usr/man/man1.
-- copy all `rx/rx_* tools to /usr/local/bin
-- install Net::FTP perl module if needed.
(this is used for FTP support)
WARNING: make sure to remove all old personal cache files!
File::Signature 1.009
File::Signature is a Perl module to detect changes to a files content or attributes. more>>
SYNOPSIS
use File::Signature;
my $sig = File::Signature->new(/some/file);
# If you have a stringified signature stored in $string
# you can create a File::Signature object from it.
my $sig = File::Signature->new_from_string($string);
if (my $err = $sig->error) {
warn $err, "n";
}
# You can use a signature object to re-check the same file.
if ( $sig->is_same() ) { print "Ok. The signature is the same.n" }
if ( $sig->changed() ) { print "Uh Oh! The signature has changed.n" }
my @digests = $sig->old_and_new(digest);
my @inodes = $sig->old_and_new(ino);
my @modes = $sig->old_and_new(mode);
my @uid = $sig->old_and_new(uid);
my @gid = $sig->old_and_new(gid);
my @mtime = $sig->old_and_new(mtime);
# A slightly more worthwhile use...
my @fields = $sig->changed();
for my $field (@fields) {
printf "$field was: %s but changed to %s.n",
$sig->old_and_new($field);
}
ABSTRACT
This perl library uses perl5 objects to assist in determining whether a files contents or attributes have changed. It maintains several pieces of information about the file: a digest (currently only MD5 is supported), its inode number, its mode, the uid of its owner, the gid of its group owner, and its last modification time. A File::Signature object is closely associated with a single pathname. It provides a way to compare the state of a file over different points in time; it isnt useful for comparing different files.
This module provides a way to monitor files for changes. It implements an object oriented interface to file "signatures." In the case of this module, a signature includes an MD5 digest (other digests may be added later), the files size, its inode number, its mode, its owners uid, its groups gid, and its mtime. This information is associated with a file by the files "pathname." The pathname is considered to be the files unique identifier. In reality, a file may have more than one pathname, but this module doesnt recognize that.
It will simply treat two differing pathnames as two different files, even if they refer to the same file. As this module checks whether a file changes over time, a minimal use of it would include the time when the signature was created and a different time when the signature is regenerated and compared with the previous one. The amount of time between these checks is arbitrary. This module makes it easy to save a signature object and then load it and check for consistency at a later time, whether seconds or years have passed.
File::Attributes 0.04
File::Attributes is a Perl module to manipulate file metadata. more>>
SYNOPSIS
use File::Attributes qw(set_attribute list_attributes get_all_attributes);
my $file = foo.txt;
set_attribute($file, type => text/plain);
set_attribute($file, encoding => utf8);
my @attributes = list_attributes($file);
# @attributes = qw(type encoding)
%attributes = get_attributes($file);
# $attributes{type} will be text/plain
# $attributes{foo} will be undefined.
File::Attributes is a wrapper around modules in the File::Attributes hierarchy. If you use this module directly (instead of one of the aforementioned decendants), then your attribute manipulations will Just Work, regardless of the underlying filesystem.
Module::Pluggable is used to find all File::Attributes:: modules that inherit from File::Attributes::Base and that are applicable on your system. If it finds one, it uses that. If not, it uses File::Attributes::Simple, which is bundled with this module and works everywhere.
As of version 0.04, plugins are now set up per-file, not per-system. This means that if you have File::Attributes::Extended installed, extended attributes will be used where available, but Simple attributes will be used on files where extended attributes dont work (a FAT filesytem on a Linux machine, for example). Existing simple attributes will be read even if extended attributes are available, but writes will affect only the extended attributes.
This means that you can switch to a better attribute plugin at any time, without losing any old data!
PHP File Browser 3.27
php file browser is a simple Web-based file browser. more>>
php file browser allows the user to upload files, delete, copy, make directories and paste files and directories. It has two access levels: one for admin, one for guest.
Access for guests can be optionally password protected.
Enhancements:
- A PHP file source viewer was added.
- The directory lister now works much faster than in older versions.
- Big changes were made in the class files.
File Beamer 0.1.5
File Beamer is an easy to use file transfer tool. more>>
This is made possible by using Trolltechs Qt Library which provides an easy to use GUI toolkit, networking functions and a lot more.
File Beamer is free open source software and was released under the GPL license.
Usage:
Receiving files:
Click the "Receive" tab
If the receiver is behind a firewall or router, check "reverse connection" and enter the senders IP or host name. *
Click the "listen" button. The client can now receive files
When receving a file, a "Save as" dialog appears. Choose a place to safe the file.
Sending files:
Click the "Send" tab
If the receiver is behind a firewall or router check "reverse connection" *
Else input the target IP address or host name and port
Select a file to send either by typing the path or by clicking the "..." button
Click the "Send" button (target must be in listen mode)