Sponsored Content
Top Forums Shell Programming and Scripting Deleting a line from a file based on one specific string instance? Post 302390084 by Black Sun on Wednesday 27th of January 2010 12:48:21 AM
Old 01-27-2010
Data Deleting a line from a file based on one specific string instance?

Hello!

I need to delete one line in a file which matches one very precise instance of a string only. When searching the forum I unfortunately only found a solution which would delete each line on which a particular string occurs.

Let's assume I have a file composed of thousands of lines and let's call the file chap-secrets. Let's take the following sample entries:

Code:
#USERNAME      SERVER         PASSWORD         IP
pp          pptpd             blahblah         *
cpp              pptpd             ppbbbbpp         *
hopp           pptpd             ggmmsasm         *
flopps    pptpd     01234567890abcdef    *

The usernames are unique, naturally.

I would now like to delete the line containing the username "pp" only. The following suggestion has been made in a related thread:

Code:
awk 'match($0,"pp") == 0 {print $0}' FILENAME > NEWFILENAME

However, this doesn't work here, for it would delete (or rather not store) all these lines, because all lines with the usernames "cpp", "hopp" and "flopps" are valid matches, all lines with the server name "pptpd" are valid matches and all lines where the password contains a "pp" (such as "ppbbbbpp") are valid matches, too, and these lines all would be deleted (or rather not stored) as well.

Note that the number of spaces between the fields differ as well all the time, so I can't search for a pattern like

Code:
"pp          pptpd"

either.

I suppose this problem is very simple for some of you, but for me it's not, thus every help would be very much appreciated. Smilie

Thank you!
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Retrieve line from a file based on a value in specific column

Hi, I have a file that has several values seperated by ":" 2006:John:Student:Football:Portugal:Cinema 2006:James:Engineer:Basket:Poland:Theatre 2007:Lucy:Diver:Gymnastic:England:Music 2007:Smith:Plumber:Basket:Spain:Poker I need make a filter based on the 5th field to find countries that... (1 Reply)
Discussion started by: efernandes
1 Replies

2. UNIX for Dummies Questions & Answers

(cont) Retrieve line from a file based on a value in specific column

HI, Your help was great: awk -F":" '$5 ~ /^P/{print }' file I would like to know what changes need to be done to this line code, so that I can put it in a shell script and call it as the example below. example: countries that start with chacater 'P' > country P Result: ... (0 Replies)
Discussion started by: efernandes
0 Replies

3. Shell Programming and Scripting

Deleting files that don't contain particular text strings / more than one instance of a string

Hi all, I have a directory containing many subdirectories each named like KOG#### where # represents any digit 0-9. There are several files in each KOG#### folder but the one I care about is named like KOG####_final.fasta. I am trying to write a script to copy all of the KOG####_final.fasta... (3 Replies)
Discussion started by: kmkocot
3 Replies

4. UNIX for Dummies Questions & Answers

Deleting lines that contain a specific string from a space delimited text file?

Hi, I have a space delimited text file that looks like the following: 250 rs10000056 0.04 0.0888 4 189321617 250 rs10000062 0.05 0.0435 4 5254744 250 rs10000064 0.02 0.2403 4 127809621 250 rs10000068 0.01 NA 250 rs1000007 0.00 0.9531 2 237752054 250 rs10000081 0.03 0.1400 4 17348363... (5 Replies)
Discussion started by: evelibertine
5 Replies

5. Shell Programming and Scripting

Replace line in file with line in another file based on matching string

Hi I am not the best scripter in the world and have run into a issue which you might be able to guide me on... I have two files. File1 : A123, valueA, valueB B234, valueA, valueB C345, valueA, valueB D456, valueA, valueB E567, valueA, valueB F678, valueA, valueB File2: C345,... (5 Replies)
Discussion started by: luckycharm
5 Replies

6. Shell Programming and Scripting

Replace and add line in file with line in another file based on matching string

Hi, I want to achieve something similar to what described in another post: The difference is I want to add the line if the pattern is not found. File 1: A123, valueA, valueB B234, valueA, valueB C345, valueA, valueB D456, valueA, valueB E567, valueA, valueB F678, valueA, valueB ... (11 Replies)
Discussion started by: jyu3
11 Replies

7. Shell Programming and Scripting

Replace line in file with line in another file based on matching string

HI Can any one guide me how to achieve this task. I have 2 files env.txt #Configuration.Properties values identity_server_url = http://identity.test-hit.com:9783/identity/service/user/register randon_password_length = 6 attachment_file_path = /pass/temp/attachments/... (1 Reply)
Discussion started by: nikilbr86
1 Replies

8. Shell Programming and Scripting

Issue deleting all lines (having a specific string) in a file

I'm trying to create a script. There are 2 files - fileA.log & fileB.log fileA.log has the below data : aaaa cccc eeee fileB.log has the below data : cjahdskjah aaaa xyz jhaskjdhas bbbb abc ajdhjkh cccc abc cjahdskjah ... (7 Replies)
Discussion started by: Pandee
7 Replies

9. Shell Programming and Scripting

Add specific string to last field of each line in perl based on value

I am trying to add a condition to the below perl that will capture the GTtag and place a specific string in the last field of each line. The problem is that the GT value used is not right after the tag rather it is a few fields away. The values should always be 0/1 or 1/2 and are in bold in the... (12 Replies)
Discussion started by: cmccabe
12 Replies

10. Shell Programming and Scripting

awk to print specific line in file based on criteria

In the file below I am trying to extract a specific instance of path, if the adjacent plugin": "/rundb/api/v1/plugin/49/. Thank you :). file "path": "/results/analysis/output/Home/Auto_user_S5-00580-4-Medexome_65_028/plugin_out/FileExporter_out.52", "plugin": "/rundb/api/v1/plugin/49/",... (8 Replies)
Discussion started by: cmccabe
8 Replies
PPTPD.CONF(5)							File Formats Manual						     PPTPD.CONF(5)

NAME
pptpd.conf - PPTP VPN daemon configuration DESCRIPTION
pptpd(8) reads options from this file, usually /etc/pptpd.conf. Most options can be overridden by the command line. The local and remote IP addresses for clients must come from the configuration file or from pppd(8) configuration files. OPTIONS
option option-file the name of an option file to be passed to pppd(8) in place of the default /etc/ppp/options so that PPTP specific options can be given. Equivalent to the command line --option option. stimeout seconds number of seconds to wait for a PPTP packet before forking the pptpctrl(8) program to handle the client. The default is 10 seconds. This is a denial of service protection feature. Equivalent to the command line --stimeout option. debug turns on debugging mode, sending debugging information to syslog(3). Has no effect on pppd(8) debugging. Equivalent to the command line --debug option. bcrelay internal-interface turns on broadcast relay mode, sending all broadcasts received on the server's internal interface to the clients. Equivalent to the command line --bcrelay option. connections n limits the number of client connections that may be accepted. If pptpd is allocating IP addresses (e.g. delegate is not used) then the number of connections is also limited by the remoteip option. The default is 100. delegate delegates the allocation of client IP addresses to pppd(8). Without this option, which is the default, pptpd manages the list of IP addresses for clients and passes the next free address to pppd. With this option, pptpd does not pass an address, and so pppd may use radius or chap-secrets to allocate an address. localip ip-specification one or many IP addresses to be used at the local end of the tunnelled PPP links between the server and the client. If one address only is given, this address is used for all clients. Otherwise, one address per client must be given, and if there are no free addresses then any new clients will be refused. localip will be ignored if the delegate option is used. remoteip ip-specification a list of IP addresses to assign to remote PPTP clients. Each connected client must have a different address, so there must be at least as many addresses as you have simultaneous clients, and preferably some spare, since you cannot change this list without restarting pptpd. A warning will be sent to syslog(3) when the IP address pool is exhausted. remoteip will be ignored if the dele- gate option is used. noipparam by default, the original client IP address is given to ip-up scripts using the pppd(8) option ipparam. The noipparam option pre- vents this. Equivalent to the command line --noipparam option. listen ip-address the local interface IP address to listen on for incoming PPTP connections (TCP port 1723). Equivalent to the command line --listen option. pidfile pid-file specifies an alternate location to store the process ID file (default /var/run/pptpd.pid). Equivalent to the command line --pidfile option. speed speed specifies a speed (in bits per second) to pass to the PPP daemon as the interface speed for the tty/pty pair. This is ignored by some PPP daemons, such as Linux's pppd(8). The default is 115200 bytes per second, which some implementations interpret as meaning "no limit". Equivalent to the command line --speed option. NOTES
An ip-specification above (for the localip and remoteip tags) may be a list of IP addresses (for example 192.168.0.2,192.168.0.3), a range (for example 192.168.0.1-254 or 192.168.0-255.2) or some combination (for example 192.168.0.2,192.168.0.5-8). For some valid pairs might be (depending on use of the VPN): localip 192.168.0.1 remoteip 192.168.0.2-254 or localip 192.168.1.2-254 remoteip 192.168.0.2-254 ROUTING CHECKLIST - PROXYARP Allocate a section of your LAN addresses for use by clients. In /etc/ppp/options.pptpd. set the proxyarp option. In pptpd.conf do not set localip option, but set remoteip to the allocated address range. Enable kernel forwarding of packets, (e.g. using /proc/sys/net/ipv4/ip_forward ). The server will advertise the clients to the LAN using ARP, providing it's own ethernet address. bcrelay(8) should not be required. ROUTING CHECKLIST - FORWARDING Allocate a subnet for the clients that is routable from your LAN, but is not part of your LAN. In pptpd.conf set localip to a single address or range in the allocated subnet, set remoteip to a range in the allocated subnet. Enable kernel forwarding of packets, (e.g. using /proc/sys/net/ipv4/ip_forward ). The LAN must have a route to the clients using the server as gateway. The server will forward the packets unchanged between the clients and the LAN. bcrelay(8) will be required to support broadcast protocols such as NETBIOS. ROUTING CHECKLIST - MASQUERADE Allocate a subnet for the clients that is not routable from your LAN, and not otherwise routable from the server (e.g. 10.0.0.0/24). Set localip to a single address in the subnet (e.g. 10.0.0.1), set remoteip to a range for the rest of the subnet, (e.g. 10.0.0.2-200). Enable kernel forwarding of packets, (e.g. using /proc/sys/net/ipv4/ip_forward ). Enable masquerading on eth0 (e.g. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE ). The server will translate the packets between the clients and the LAN. The clients will appear to the LAN as having the address corre- sponding to the server. The LAN need not have an explicit route to the clients. bcrelay(8) will be required to support broadcast proto- cols such as NETBIOS. FIREWALL RULES
pptpd(8) accepts control connections on TCP port 1723, and then uses GRE (protocol 47) to exchange data packets. Add these rules to your iptables(8) configuration, or use them as the basis for your own rules: iptables --append INPUT --protocol 47 --jump ACCEPT iptables --append INPUT --protocol tcp --match tcp --destination-port 1723 --jump ACCEPT SEE ALSO
pppd(8), pptpd(8), pptpd.conf(5). 29 December 2005 PPTPD.CONF(5)
All times are GMT -4. The time now is 08:25 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy