Sponsored Content
Top Forums Shell Programming and Scripting Using awk to read a specific line and a specific field on that line. Post 302543390 by agama on Sunday 31st of July 2011 01:13:43 PM
Old 07-31-2011
Quote:
Originally Posted by Bungkai

Code:
sed -i "s/$searchName\ $2/$name\ $lname/g" database.txt

This works for me assuming that searchName == John, $2 == Wall. If you've invoked your script with just John on the command line, $2 will be null, then you'll end up with the results that you posted. The small script I wrote to test your code includes some error checking that might be beneficial in your case so I've posted it as an example.

Code:
#!/usr/bin/env ksh

if [[ $# != 4 ]]
then
   echo "error: missing parms. expected:  name lastname newname new-lastname"
   exit 1
fi
searchName=$1
# $2 is not assigned and used directly later 
name=$3
lname=$4

sed  "s/$searchName\ $2/$name\ $lname/g" test.data

I would recommend assigning $2 to a named variable; while it is fine the way it is, it makes your script easier to read if it were something like this:

Code:
sed  "s/$searchName\ $searchLastname/$name\ $lname/g" test.data

I also don't believe that you need to escape the spaces. This should work:
Code:
sed  "s/$searchName $2/$name $lname/g" test.data

and again makes the code easier to read.

---------- Post updated at 13:13 ---------- Previous update was at 13:10 ----------

Thought I would also note that I dropped the -i from my testing because the version of sed that I prefer does not implement it. It should work just fine if you prefer to use that option.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to append a character to the last but one field on a specific line?

Hi Guys, I have a file like this: aaa b c d e f fsss g h i k l qqq r t h n I want: aaa b c d e f fsss g h i k l qqq r t h , n ggg p t e d u qqq i o s , k (2 Replies)
Discussion started by: npatwardhan
2 Replies

2. Shell Programming and Scripting

replacing field in specific line in a file

Hi, I know there are lots of threads on replacing text within files, usually using sed or awk. However, I find it hard to adapt examples that I found to my specific case. I am kind of new to UNIX and have hard times learning the syntax either for sed or awk so I would appreciate any help. Here's... (5 Replies)
Discussion started by: vytenis
5 Replies

3. Shell Programming and Scripting

Counting rows line by line from a specific column using Awk

Dear UNIX community, I would like to to count characters from a specific row and have them displayed line-by-line. I have a file called testAwk2.csv which contain the following data: rabbit penguin goat giraffe emu ostrich I would like to count in the middle row individually... (4 Replies)
Discussion started by: vnayak
4 Replies

4. Shell Programming and Scripting

Replace specific field on specific line sed or awk

I'm trying to update a text file via sed/awk, after a lot of searching I still can't find a code snippet that I can get to work. Brief overview: I have user input a line to a variable, I then find a specific value in this line 10th field in this case. After asking for new input and doing some... (14 Replies)
Discussion started by: crownedzero
14 Replies

5. Shell Programming and Scripting

Update specific field in a line of text file

I have a text file like this: subject1:LecturerA:10 subject2:LecturerA:40 if I was given string in column 1 and 2 (which are subject 1 and LecturerA) , i need to update 3rd field of that line containing that given string , which is, number 10 need to be updated to 100 ,for example. The... (6 Replies)
Discussion started by: bmtoan
6 Replies

6. Shell Programming and Scripting

How to read particular line in file from specific column?

Hi...friends.... I want to create inventory...information for that I need to read some specific row say 2nd row from 1st 3 column and and write data with particular file used, I have some more column also but I need only 3 column data of first entry after header I attached sample file..those... (12 Replies)
Discussion started by: nex_asp
12 Replies

7. Shell Programming and Scripting

To read specific line from a file

Hi, I have a ldif file like below: version: 1 dn: cn=Test Group,ou=Applications,dc=xyz,dc=com objectClass: groupOfUniqueNames objectClass: top cn: Test Group uniqueMember: uid=abc,ou=People,o=xyz,o=Corporate,dc=xyz,dc=com dn: cn=Test Sub Group,cn=Test... (4 Replies)
Discussion started by: saurau
4 Replies

8. Shell Programming and Scripting

How to print with awk specific field different from specific character?

Hello, i need help with awk. I have this file: cat number DirB port 67 er_enc_out 0 er_bad_os 0 DirB port 71 er_enc_out 56 er_bad_os 0 DirB port 74 er_enc_out 0 er_bad_os 0 DirB port 75 ... (4 Replies)
Discussion started by: elilmal
4 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 combine all matching fields in input but only print line with largest value in specific field

In the below I am trying to use awk to match all the $13 values in input, which is tab-delimited, that are in $1 of gene which is just a single column of text. However only the line with the greatest $9 value in input needs to be printed. So in the example below all the MECP2 and LTBP1... (0 Replies)
Discussion started by: cmccabe
0 Replies
ogrtindex(1)						      General Commands Manual						      ogrtindex(1)

NAME
ogrtindex - ogrtindex creates a tileindex SYNOPSIS
ogrtindex [-lnum n]... [-lname name]... [-f output_format] [-write_absolute_path] [-skip_different_projection] output_dataset src_dataset... DESCRIPTION
The ogrtindex program can be used to create a tileindex - a file containing a list of the identities of a bunch of other files along with there spatial extents. This is primarily intended to be used with MapServer for tiled access to layers using the OGR connection type. -lnum n: Add layer number 'n' from each source file in the tile index. -lname name: Add the layer named 'name' from each source file in the tile index. -f output_format: Select an output format name. The default is to create a shapefile. -tileindex field_name: The name to use for the dataset name. Defaults to LOCATION. -write_absolute_path: Filenames are written with absolute paths -skip_different_projection: Only layers with same projection ref as layers already inserted in the tileindex will be inserted. If no -lnum or -lname arguments are given it is assumed that all layers in source datasets should be added to the tile index as independent records. If the tile index already exists it will be appended to, otherwise it will be created. It is a flaw of the current ogrtindex program that no attempt is made to copy the coordinate system definition from the source datasets to the tile index (as is expected by MapServer when PROJECTION AUTO is in use). EXAMPLE
This example would create a shapefile (tindex.shp) containing a tile index of the BL2000_LINK layers in all the NTF files in the wrk directory: % ogrtindex tindex.shp wrk/*.NTF AUTHORS
Frank Warmerdam warmerdam@pobox.com, Silke Reimer silke@intevation.de GDAL
Tue Sep 18 2012 ogrtindex(1)
All times are GMT -4. The time now is 12:02 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy