I have a file "dbshot.xml" that contains lines that need replacing in a batch format but the parameters are based on two lines.
Ex.
<role roletype="01">
<status>1
needs to be changed to
<role roletype="01">
<status>0
I can't use simply "<status>1" replace since the... (2 Replies)
I'm trying to use the following command to do a batch find and replace in all commonly named files through a file hierarchy
find . -name 'file' |xargs perl -pi -e 's/find/replace/g'
which works fine except for a substitution involving parenthesis.
As a specific example I'm trying to sub... (3 Replies)
I have korn shell script that genretaets 100 file based on template replacing the number.
The template file is as below:
$ cat template
file number: NUMBER
The shell script is as below:
$ cat gen.sh
#!/bin/ksh
i=1;
while ((i <= 100)); do
sed "s/NUMBER/$i/" template > file_${i}
((... (1 Reply)
how to use sed command to find and replace a directory
i have a file.. which contains lot of paths ...
for eg.. file contains..
/usr/kk/rr/12345/1
/usr/kk/rr/12345/2
/usr/kk/rr/12345/3
/usr/kk/rr/12345/4
/usr/kk/rr/12345/5
/usr/kk/rr/12345/6
/usr/kk/rr/12345/7... (1 Reply)
Hi,
I am taking the current time using localtime function in perl. For example if the time is:
#Using localtime
$time = "12:3:10";
I have to replace the value 3 (03) i.e second position to be 03.
The output should be:
12:03:10
But if the other string for example:
$str:... (1 Reply)
Hi,
Please could someone advise, how I can resolve this issue with my find and replace command :
perl -i -npe "s#RLM_LICENSE.*#RLM_LICENSE=$TEAM_TOP/licenses/abc.demo.lic#;" environment.properties
$TEAM_TOP is an environment varible within my system.
when i run this perl command from... (1 Reply)
Hello Folks,
#!/usr/bin/perl
use File::Find;
open F,shift or die $!;
my %ip=map/(\S+)\s+(\S+)/,<F>;
close F;
find sub{
if( -f ){
local @ARGV=($_);
local $^I="";
while( <> ){
!/#/ && s/(\w+)\.fs\.rich\.us/$ip{$1}/g;
print;
}
}... (8 Replies)
Hi,
I am stuck with an problem and want some help, what i want to do is
There is a directory name temp
which include file named t1.txt, t2,txt, t3.txt and so on.
These files contains data, but there are some bad character also that is % present in the files , I want to write the script... (13 Replies)
Hi!
I have a directory full of .plist type files from which I need to delete a line. Not every file contains the line, but of course I'd like to do it recursively. The line which I want to delete is:
<string>com.apple.PhotoBooth</string>
and looks like this in its native habitat:
... (9 Replies)
Trying to find and replace one string with another string in a file
#!/usr/bin/perl
$csd_table_path = "/file.ntab";
$find_str = '--bundle_type=021';
$repl_str = '--bundle_type=021 --target=/dev/disk1s2';
if( system("/usr/bin/perl -p -i -e 's/$find_str/$repl_str/' $csd_table_path")... (2 Replies)
Discussion started by: cillmor
2 Replies
LEARN ABOUT PHP
stream_filter_register
STREAM_FILTER_REGISTER(3) 1 STREAM_FILTER_REGISTER(3)stream_filter_register - Register a user defined stream filterSYNOPSIS
bool stream_filter_register (string $filtername, string $classname)
DESCRIPTION stream_filter_register(3) allows you to implement your own filter on any registered stream used with all the other filesystem functions
(such as fopen(3), fread(3) etc.).
PARAMETERS
o $filtername
- The filter name to be registered.
o $classname
- To implement a filter, you need to define a class as an extension of php_user_filter with a number of member functions. When
performing read/write operations on the stream to which your filter is attached, PHP will pass the data through your filter (and
any other filters attached to that stream) so that the data may be modified as desired. You must implement the methods exactly as
described in php_user_filter - doing otherwise will lead to undefined behaviour.
RETURN VALUES
Returns TRUE on success or FALSE on failure.
stream_filter_register(3) will return FALSE if the $filtername is already defined.
EXAMPLES
Example #1
Filter for capitalizing characters on foo-bar.txt stream
The example below implements a filter named strtoupper on the foo-bar.txt stream which will capitalize all letter characters writ-
ten to/read from that stream.
<?php
/* Define our filter class */
class strtoupper_filter extends php_user_filter {
function filter($in, $out, &$consumed, $closing)
{
while ($bucket = stream_bucket_make_writeable($in)) {
$bucket->data = strtoupper($bucket->data);
$consumed += $bucket->datalen;
stream_bucket_append($out, $bucket);
}
return PSFS_PASS_ON;
}
}
/* Register our filter with PHP */
stream_filter_register("strtoupper", "strtoupper_filter")
or die("Failed to register filter");
$fp = fopen("foo-bar.txt", "w");
/* Attach the registered filter to the stream just opened */
stream_filter_append($fp, "strtoupper");
fwrite($fp, "Line1
");
fwrite($fp, "Word - 2
");
fwrite($fp, "Easy As 123
");
fclose($fp);
/* Read the contents back out
*/
readfile("foo-bar.txt");
?>
The above example will output:
LINE1
WORD - 2
EASY AS 123
Example #2
Registering a generic filter class to match multiple filter names.
<?php
/* Define our filter class */
class string_filter extends php_user_filter {
var $mode;
function filter($in, $out, &$consumed, $closing)
{
while ($bucket = stream_bucket_make_writeable($in)) {
if ($this->mode == 1) {
$bucket->data = strtoupper($bucket->data);
} elseif ($this->mode == 0) {
$bucket->data = strtolower($bucket->data);
}
$consumed += $bucket->datalen;
stream_bucket_append($out, $bucket);
}
return PSFS_PASS_ON;
}
function onCreate()
{
if ($this->filtername == 'str.toupper') {
$this->mode = 1;
} elseif ($this->filtername == 'str.tolower') {
$this->mode = 0;
} else {
/* Some other str.* filter was asked for,
report failure so that PHP will keep looking */
return false;
}
return true;
}
}
/* Register our filter with PHP */
stream_filter_register("str.*", "string_filter")
or die("Failed to register filter");
$fp = fopen("foo-bar.txt", "w");
/* Attach the registered filter to the stream just opened
We could alternately bind to str.tolower here */
stream_filter_append($fp, "str.toupper");
fwrite($fp, "Line1
");
fwrite($fp, "Word - 2
");
fwrite($fp, "Easy As 123
");
fclose($fp);
/* Read the contents back out
*/
readfile("foo-bar.txt");
?>
The above example will output:
LINE1
WORD - 2
EASY AS 123
SEE ALSO stream_wrapper_register(3), stream_filter_append(3), stream_filter_prepend(3).
PHP Documentation Group STREAM_FILTER_REGISTER(3)