Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Turning to SED to select specific records Post 302662277 by Scrutinizer on Tuesday 26th of June 2012 11:32:30 AM
Old 06-26-2012
Quote:
Originally Posted by gjackson123
SmilieHi All,

Both of the following statements provided are working:

Code:
 
$ awk -F\| '{print $NF}' employee1.txt | sed -n 'N;N;N;/\n[Smith]\n.*\n>
Jessica
Smith
16/09/2000
Female

[..]

The sed statement will not work properly because of the square brackets, which denote a single character that can be S,m,i,t or h...

Quote:
Code:
There is one last thing that I am looking for is:
 
Pick up records for employee with surname Smith / Jones.
$ awk -F\| '{print $NF}' employee1.txt | sed -n 'N;N;N;/\n[Smith|Jones]\n.*\n> did not work.
 
[..]

To make standard sed work you cannot use alternation, you would need to do something like this:

Code:
awk -F\| '{print $NF}' infile | sed -n 'N;N;N;/\nSmith\n.*\n.*$/p;/\nJones\n.*\n.*$/p'

If your sed has an extension that supports extended regular expressions you could do this:

Code:
awk -F\| '{print $NF}' infile | sed -En 'N;N;N;/\n(Smith|Jones)\n.*\n.*$/p'

This User Gave Thanks to Scrutinizer For This Post:
 

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
CAP_MKDB(1)						    BSD General Commands Manual 					       CAP_MKDB(1)

NAME
cap_mkdb -- create capability database SYNOPSIS
cap_mkdb [-b | -l] [-v] [-f outfile] file ... DESCRIPTION
The cap_mkdb utility builds a hashed database out of the getcap(3) logical database constructed by the concatenation of the specified files. The database is named by the basename of the first file argument and the string ``.db''. The getcap(3) routines can access the database in this form much more quickly than they can the original text file(s). The ``tc'' capabilities of the records are expanded before the record is stored into the database. The following options are available: -b Use big-endian byte order for database metadata. -f outfile Specify a different database basename. -l Use little-endian byte order for database metadata. -v Print out the number of capability records in the database. The -b and -l flags are mutually exclusive. The default byte ordering is the current host order. FORMAT
Each record is stored in the database using two different types of keys. The first type is a key which consists of the first capability of the record (not including the trailing colon (``:'')) with a data field consisting of a special byte followed by the rest of the record. The special byte is either a 0 or 1, where a 0 means that the record is okay, and a 1 means that there was a ``tc'' capability in the record that could not be expanded. The second type is a key which consists of one of the names from the first capability of the record with a data field consisting a special byte followed by the first capability of the record. The special byte is a 2. In normal operation names are looked up in the database, resulting in a key/data pair of the second type. The data field of this key/data pair is used to look up a key/data pair of the first type which has the real data associated with the name. EXIT STATUS
The cap_mkdb utility exits 0 on success, and >0 if an error occurs. SEE ALSO
dbopen(3), getcap(3), termcap(5) BSD
February 22, 2005 BSD
All times are GMT -4. The time now is 11:06 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy