ÿØÿà JFIF ÿÛ „ ( %"1"%)+...383,7(-.-
![]() Server : LiteSpeed System : Linux v2202501248978307069 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 User : voirf6718 ( 1002) PHP Version : 7.3.33-1+focal Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Directory : /usr/bin/ |
#!/usr/bin/perl use Archive::Cpio; use Getopt::Long; =head1 NAME cpio-filter - transform a cpio archive =head1 SYNOPSIS cpio-filter [--exclude <PATTERN>] [--in-place] [<cpio file>] =head1 DESCRIPTION Transform a cpio archive on the fly. Reads on stdin and output on stderr =head1 AUTHOR Pascal Rigaux <pixel@mandriva.com> =cut my %options = ( 'exclude=s' => \ (my $exclude), 'in-place|i' => \ (my $in_place), ); sub usage { die "usage: cpio-filter [--exclude <PATTERN>] [--in-place] [<cpio file>]\n"; } GetOptions(%options) or usage(); @ARGV <= 1 or usage(); if ($in_place) { @ARGV or die "you can't use --in-place without giving a cpio file\n"; } my ($file) = @ARGV; sub exclude { my ($e) = @_; $exclude && $e->name =~ m!(^|/)${exclude}($|/)!; } my $cpio = Archive::Cpio->new; if ($in_place) { $cpio->read($file); $cpio->remove(map { exclude($_) ? $_->name : () } $cpio->get_files); $cpio->write($file); } else { my $IN; if ($file) { open($IN, '<', $file) or die "can't open $file: $!\n"; } else { $IN = \*STDIN; } $cpio->read_with_handler($IN, sub { my ($e) = @_; $cpio->write_one(\*STDOUT, $e) if !exclude($e); }); $cpio->write_trailer(\*STDOUT); }