Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Turning to SED to select specific records Post 302659129 by jawsnnn on Wednesday 20th of June 2012 11:34:44 AM
Old 06-20-2012
I think the first variation should work fine for multiple surnames. Let me explain the solution:

Code:
sed 's/(gender)/&*/g' file1 | awk -F'\n' '$2 ~ /^Smith.*/ {print}' RS='*'

1. I appended an asterisk '*' to the string (gender), i.e. the end of your record using sed by using
Code:
sed 's/(gender)/&*/g'

Here & is replaced by the matched string.

2. Then I divide the output of this command into records separated by '*' with fields separated by '/n' or newline character. This enables me to treat the four lines in each set as four different fields in the awk command. I achieve this by setting two variables:
Code:
RS='*'
and
-F='\n'

3. Then, I simply match the second field (i.e. the second row of all sets) to the pattern
Code:
^Smith.*

which matches fields starting with the string Smith followed by any character. In retrospect, the .* in the pattern is probably not needed.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Select records based on search criteria on first column

Hi All, I need to select only those records having a non zero record in the first column of a comma delimited file. Suppose my input file is having data like: "0","01/08/2005 07:11:15",1,1,"Created",,"01/08/2005" "0","01/08/2005 07:12:40",1,1,"Created",,"01/08/2005"... (2 Replies)
Discussion started by: shashi_kiran_v
2 Replies

2. Shell Programming and Scripting

Using a variable to select records with awk

As part of a bigger task, I had to read thru a file and separate records into various batches based on a field. Specifically, separate records based on the value in the batch field as defined below. The batch field left-justified numbers. The datafile is here > cat infile 12345 1 John Smith ... (5 Replies)
Discussion started by: joeyg
5 Replies

3. Shell Programming and Scripting

Automatically select records from several files and then run a C executable file inside the script

Dear list its my first post and i would like to greet everyone What i would like to do is select records 7 and 11 from each files in a folder then run an executable inside the script for the selected parameters. The file format is something like this 7 100 200 7 100 250 7 100 300 ... (1 Reply)
Discussion started by: Gtolis
1 Replies

4. UNIX for Dummies Questions & Answers

Grep specific records from a file of records that are separated by an empty line

Hi everyone. I am a newbie to Linux stuff. I have this kind of problem which couldn't solve alone. I have a text file with records separated by empty lines like this: ID: 20 Name: X Age: 19 ID: 21 Name: Z ID: 22 Email: xxx@yahoo.com Name: Y Age: 19 I want to grep records that... (4 Replies)
Discussion started by: Atrisa
4 Replies

5. Shell Programming and Scripting

mysql how to select a specific row from a table

i have a table records ------------ id | user | time | event 91 admin | 12:00 | hi 92 admin | 11:00 | hi 93 admin | 12:00 | bye 94 admin | 13:00 | bye 95 root | 12:00 | hi 96 root | 12:30 | hi 97 root | 12:56 | hi how could i only select and display only the user and event from... (6 Replies)
Discussion started by: kpddong
6 Replies

6. Shell Programming and Scripting

Block of records to select from a file

Hello: I am new to shell script programming. Now I would like to select specific records block from a file. For example, current file "xyz.txt" is containing 1million records and want to select the block of records from line number 50000 to 100000 and save into a file. Can anyone suggest me how... (3 Replies)
Discussion started by: nvkuriseti
3 Replies

7. Shell Programming and Scripting

awk print only select records from file2

Print only records from file 2 that do not match file 1 based on criteria of comparing column 1 and column 6 Was trying to play around with following code I found on other threads but not too successful Code: awk 'NR==FNR{p=$1;$1=x;A=$0;next}{$2=$2(A?A:",,,")}1' FS=~ OFS=~ file1 FS="*"... (11 Replies)
Discussion started by: sigh2010
11 Replies

8. Shell Programming and Scripting

To select non-duplicate records using awk

Friends, I have data sorted on id like this id addressl 1 abc 2 abc 2 abc 2 abc 3 aabc 4 abc 4 abc I want to pick all ids with addressesses leaving out duplicate records. Desired output would be id address 1 abc 2 abc 3 abc 4 abc (5 Replies)
Discussion started by: paresh n doshi
5 Replies

9. Shell Programming and Scripting

Select records and fields

Hi All I would like to modify a file like this: >antax gioq21 tris notes abcdefghij klmnopqrs >betax gion32 ter notes2 tuvzabcdef ahgskslsooin this: >tris abcdefghij klmnopqrs >ter tuvzabcdef ahgskslsoo So, I would like to remove the first two fields(and output field 3) in record... (4 Replies)
Discussion started by: giuliangiuseppe
4 Replies

10. Shell Programming and Scripting

Quick way to select many records from a large file

I have a file, named records.txt, containing large number of records, around 0.5 million records in format below: 28433005 1 1 3 2 2 2 2 2 2 2 2 2 2 2 28433004 0 2 3 2 2 2 2 2 2 1 2 2 2 2 ... Another file is a key file, named key.txt, which is the list of some numbers in the first column of... (5 Replies)
Discussion started by: zenongz
5 Replies
SHELR(1)																  SHELR(1)

NAME
shelr - screencasting for shell ninjas DESCRIPTION
Shelr records terminal output and can replay it. Also you can shere Your records at http://shelr.tv/ or other services. SYNOPSIS
shelr command [id] COMMANDS
record Will record your terminal unless you type exit or Ctrl+D and store it to $HOME/.local/share/shelr/ list lists all your shellcasts. play plays local or remote shellcast. push publish your shellcast dump dump shellcast as json to current directory. EXAMPLES
Record your shellcast: $ shelr record $ # do something ... $ exit List recorded shellcasts: $ shelr list Play local shellcast: $ shelr play 1293702847 # play your own local record $ shelr play record.json # created with shelr dump $ shelr play last # will play most recent local record Play remote shellcast: $ shelr play http://shelr.tv/records/4d1f7c3890820d6144000002.json Publish your shellcast: $ shelr push 1293702847 $ shelr push last # will push most recent local record Setup recording backend: $ shelr backend script $ shelr backend ttyrec BUGS
Windows heh. COPYRIGHT
(C) 2010, 2011, 2012 Antono Vasiljev self@antono.info Licensed under GPLv3+ SEE ALSO
script(1), scriptreplay(1), ttyrec(1), ttyplay(1) April 2012 SHELR(1)
All times are GMT -4. The time now is 08:56 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy