Sponsored Content
Top Forums Shell Programming and Scripting Change only first line of the match Post 302881519 by Don Cragun on Monday 30th of December 2013 04:38:53 AM
Old 12-30-2013
You have already found that sed is not well suited to replacing only one occurrence of a string in a file.

We have shown you how to use awk to make the 3 different sets of changes you showed between your sample input and your sample output. You still have not given us an English specification of all of the changes that should be made to the input to produce the output. So, we have to assume that your real input does not match the assumptions we have made about your actual input based on the sample input you showed us.

Trying to guess at an input file specification from a short sample always leaves us to make assumptions. If our awk script are going into infinite loops, your real input does not match the assumptions we had to make from your sample input.

If you give us:
  1. the OS and release of that OS that you're using,
  2. the shell you're using,
  3. a clear specification of your input file format,
  4. a clear specification of all of the transformations to be made to turn your input into your desired output, and
  5. sample input and output files that match the above specifications
we may be able to help you come up with a script to do it. If you insist on using sed (with or without grep) to make the types of transformations you've shown us, you're out of luck.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed - Replace Line which contains the Pattern match with a new line

I need to replace the line containing "STAGE_DB" with the line "STAGE_DB $DB # database that contains the table being loaded ($workingDB)" Here $DB is passed during the runtime. How can I do this? Thanks, Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies

2. Shell Programming and Scripting

Script to change file contents line by line

Hi, I'm struggling to write a script to do the following, -will go through each line in the file -in a specific character positions, changes the value to a new value -These character positions are fixed througout the file ----------------------- e.g.: file1.sh will have the following 3... (4 Replies)
Discussion started by: vini99
4 Replies

3. Shell Programming and Scripting

Print Line if next line Match a pattern

Hi All, Does anyone know how to print 1H1A....... in peal script print line ^1H1A....... if next line equal 5R0RECEIPT.... Thank for help:D Cat st.txt 1H1A-IN-11-5410-0009420|1010047766|dsds|1|N|IN|IN|000000|1||N|<<<line match 5R0RECEIPT| 5R0RECEIPT|... (2 Replies)
Discussion started by: kittiwas
2 Replies

4. Shell Programming and Scripting

Delete line with match and previous line quoting/escaping problem

Hi folks, I've list of LDAP records in this format: cat cmmac.export.tmp2 dn: deviceId=0a92746a54tbmd34b05758900131136a506,ou=devices,ou=customer,ou=nl,o=upc cmmac: 00:13:11:36:a5:06 dn: deviceId=0a92746a62pbms4662299650015961cfa23,ou=devices,ou=customer,ou=nl,o=upc cmmac:... (4 Replies)
Discussion started by: tomas.polak
4 Replies

5. Shell Programming and Scripting

awk or sed? change field conditional on key match

Hi. I'd appreciate if I can get some direction in this issue to get me going. Datafile1: -About 4000 records, I have to update field#4 in selected records based on a match in the key field (Field#1). -Field #1 is the key field (servername) . # of Fields may vary # comment server1 bbb ccc... (2 Replies)
Discussion started by: RascalHoudi
2 Replies

6. Shell Programming and Scripting

I need to know how to replace a line after a pattern match with an empty line using SED

Hi How Are you? I am doing fine! I need to go now? I will see you tomorrow! Basically I need to replace the entire line containing "doing" with a blank line: I need to the following output: Hi How Are you? I need to go now? I will see you tomorrow! Thanks in advance.... (1 Reply)
Discussion started by: sags007_99
1 Replies

7. Shell Programming and Scripting

Match pattern1 in file, match pattern2, substitute value1 in line

not getting anywhere with this an xml file contains multiple clients set up with same tags, different values. I need to parse the file for client foo, and change the value of tag "64bit" from false to true. cat clients.xml <Client type"FIX"> <ClientName>foo</ClientName>... (3 Replies)
Discussion started by: jack.bauer
3 Replies

8. Shell Programming and Scripting

Rearrange or replace only the second line after pattern match or pattern match

Im using the command below , but thats not the output that i want. it only prints the odd and even numbers. awk '{if(NR%2){print $0 > "1"}else{print $0 > "2"}}' Im hoping for something like this file1: Text hi this is just a test text1 text2 text3 text4 text5 text6 Text hi... (2 Replies)
Discussion started by: invinzin21
2 Replies

9. Shell Programming and Scripting

awk to combine lines from line with pattern match to a line that ends in a pattern

I am trying to combine lines with these conditions: 1. First line starts with text of "libname VALUE db2 datasrc" where VALUE can be any text. 2. If condition1 is met then continue to combine lines through a line that ends with a semicolon. 3. Ignore case when matching patterns and remove any... (5 Replies)
Discussion started by: Wes Kem
5 Replies

10. Shell Programming and Scripting

Print next line beside preceding line on column match

Hi, I have some data like below: John 254 Chris 254 Matt 123 Abe 123 Raj 487 Moh 487 How can i print it using awk to have: 254 John,Chris 123 Matt,Abe 487 Raj,Moh Thanks. (4 Replies)
Discussion started by: james2009
4 Replies
CATCODEC(1)						    BSD General Commands Manual 					       CATCODEC(1)

NAME
catcodec -- An open source tool to decode/encode the sample catalogue for OpenTTD SYNOPSIS
catcodec [-d sample_file] [-e sample_file] DESCRIPTION
catcodec decodes and encodes sample catalogues for OpenTTD. These sample catalogues are not much more than some meta-data (description and file name) and raw PCM data. Decoding a sample catalogue, e.g. sample.cat, results in a sample.sfo that contains the file names and descriptions of the samples and all samples with the file name as specified in the catalogue. Encoding a sample catalogue, e.g. sample.cat, reads sample.sfo for the file names and descriptions. It will then load the samples described in sample.sfo and encodes these into sample.cat. Generally speaking encoding a file and then decoding it results in the same file. Decoding of the original, Transport Tycoon Deluxe, sample format will force the output to be 11025 Hz, 8 bits mono because the meta-data of some of the samples is incorrect or even missing. Only PCM WAVE files with only the format and data chunks are supported. Any other formats need to be converted into this. Furthermore only 11025 Hz, 22050 Hz and 44100 Hz with 8 or 16 bits per sample single channel PCM WAVE files are supported. OPTIONS
-d sample_file Decode the given sample catalogue into its components. The sample_file must have the extension '.cat'. For the output meta- data file the '.cat' is replaced with '.sfo'. The actual samples, in PCM WAVE format, are extracted into files using the file names, including extension, as described in the catalogue or meta-data file. If any of the files already exists a backup is made, by adding '.bak', overwriting the existing backup. -e sample_file Encode the components for the given sample file into a sample catalogue. The sample_file must have the extension '.cat'. For the input meta-data file the '.cat' is replaced with '.sfo'. The actual samples, in PCM WAVE format, are read from files using the file names, including extension, as described in the meta-data file. If the sample_file already exists a backup is made, by adding '.bak', overwriting the existing backup. SEE ALSO
openttd(1) the game that uses these sample catalogues. AUTHORS
Remko Bijker <rubidium@openttd.org> November 05, 2009
All times are GMT -4. The time now is 03:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy