Sponsored Content
Top Forums Shell Programming and Scripting Have a find/replace perl script thats broke Post 302571219 by richsark on Sunday 6th of November 2011 09:52:15 PM
Old 11-06-2011
Hi,

I have several files in a directory that I need to replace

Its working, but I end up with a . as I explained.

so lets say I am in /home/richsark/me/you/Data/dhcp

In there I have several sub directories like

/home/richsark/me/you/Data/dhcp/r1
/home/richsark/me/you/Data/dhcp/r4 etc...

In each of these directories, I have several files that contain lots of crap. I am only interested in changing these statements from within each file

from
option domain-name-servers Foo.fs.rich.us,bar.fs.rich.us;

to:

option domain-name-servers 192.168.123.1,200.100.32.4;

But my script is doing this:

option domain-name-servers 192.168.123.1., 200.100.32.4.;

I would like it to look like this:

option domain-name-servers 192.168.123.1,200.100.32.4;

I have this shell script, but this one lacks the comma and is a lot slower Smilie

Code:
find /home/richsark/customers/me/Data/you/dhcp -type f ! -name "*.bak" |while read line
do
  awk 'NR==FNR{a[$1]=$2;next} !/^#/ {for (i in a) if ($0~i) sub(i ".fs.rich.us.",a[i])}1' rich-input.txt "$line" >temp 
#  echo mv temp "$line"
mv temp "$line"
done

This one looks like this

option domain-name-servers 192.168.123.1 200.100.32.4;

I would like it like so:

option domain-name-servers 192.168.123.1,200.100.32.4;

Last edited by richsark; 11-06-2011 at 11:00 PM.. Reason: add another script
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parentheses in perl find/replace

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)
Discussion started by: Jeffish
3 Replies

2. Shell Programming and Scripting

Find/replace to new file: ksh -> perl

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)
Discussion started by: McLan
1 Replies

3. Shell Programming and Scripting

Broke Perl Script Second pair of eyes NET::FTPSSL

Hi all, Let me first start out by saying I'm a perl newbie and hope somebody can help, for the life of me I can't figure out why my script will not find and download a remote file via FTPSSL. What it's supposed to do is find the latest file named... (4 Replies)
Discussion started by: Styles
4 Replies

4. Shell Programming and Scripting

How to find the count and replace the particular part of string in perl?

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)
Discussion started by: vanitham
1 Replies

5. Shell Programming and Scripting

perl find and replace

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)
Discussion started by: fettie
1 Replies

6. Shell Programming and Scripting

Character Find and replace in Unix or Perl

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)
Discussion started by: parthmittal2007
13 Replies

7. UNIX for Dummies Questions & Answers

Perl find & replace - what am I doing wrong?

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)
Discussion started by: sudon't
9 Replies

8. Shell Programming and Scripting

Find and replace, perl code

Hi, Can somebody tell whats wrong with "find and replace perl code". I wanted to find "\n".write(status,data" and replace with "\n",data" in multipls files. #!/usr/bin/perl my @files = <*.c>; foreach $fileName (@files) { print "$fileName\n"; my $searchStr0 =... (4 Replies)
Discussion started by: chettyravi
4 Replies

9. Shell Programming and Scripting

Perl script to read string from file#1 and find/replace in file#2

Hello Forum. I have a file called abc.sed with the following commands; s/1/one/g s/2/two/g ... I also have a second file called abc.dat and would like to substitute all occurrences of "1 with one", "2 with two", etc and create a new file called abc_new.dat sed -f abc.sed abc.dat >... (10 Replies)
Discussion started by: pchang
10 Replies

10. Shell Programming and Scripting

find and Replace String in Perl - Regexp

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
SOCKET-CONTEXT-OPTIONS(3)						 1						 SOCKET-CONTEXT-OPTIONS(3)

Socket context options - Socket context option listing

	Socket context options are available for all wrappers that work over sockets, like tcp, http and ftp.

	      o $bindto
		-  Used to specify the IP address (either IPv4 or IPv6) and/or the port number that PHP will use to access the network. The syntax
		is ip:port for IPv4 addresses, and [ip]:port for IPv6 addresses. Setting the IP or the port to 0 will let the system choose the IP
		and/or port.

	      Note

		      As FTP creates two socket connections during normal operation, the port number cannot be specified using this option.

	      o $backlog
		- Used to limit the number of outstanding connections in the socket's listen queue.

	      Note

		      This is only applicable to stream_socket_server(3).

       +--------+-----------------+
       |Version |		  |
       |	|		  |
       |	|   Description   |
       |	|		  |
       +--------+-----------------+
       | 5.3.3	|		  |
       |	|		  |
       |	|  Added backlog. |
       |	|		  |
       | 5.1.0	|		  |
       |	|		  |
       |	|  Added bindto.  |
       |	|		  |
       +--------+-----------------+
       Example #1

	      Basic $bindto usage example

	      <?php
	      // connect to the internet using the '192.168.0.100' IP
	      $opts = array(
		  'socket' => array(
		      'bindto' => '192.168.0.100:0',
		  ),
	      );

	      // connect to the internet using the '192.168.0.100' IP and port '7000'
	      $opts = array(
		  'socket' => array(
		      'bindto' => '192.168.0.100:7000',
		  ),
	      );

	      // connect to the internet using the '2001:db8::1' IPv6 address
	      // and port '7000'
	      $opts = array(
		  'socket' => array(
		      'bindto' => '[2001:db8::1]:7000',
		  ),
	      );

	      // connect to the internet using port '7000'
	      $opts = array(
		  'socket' => array(
		      'bindto' => '0:7000',
		  ),
	      );

	      // create the context...
	      $context = stream_context_create($opts);

	      // ...and use it to fetch the data
	      echo file_get_contents('http://www.example.com', false, $context);

	      ?>

PHP Documentation Group 												 SOCKET-CONTEXT-OPTIONS(3)
All times are GMT -4. The time now is 03:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy