Sponsored Content
Full Discussion: Join two files using awk
Top Forums Shell Programming and Scripting Join two files using awk Post 302960732 by summer_cherry on Thursday 19th of November 2015 04:08:22 AM
Old 11-19-2015
awk -F"," 'BEGIN{OFS=","}
{
if(NR==FNR)
_[$1]=$0
else
print $0,_[$1]
}' file2 file1
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Left join on files using awk

nawk 'NR==FNR{a;next} {if($1 in a) print $1,"Found" else print}' OFS="," File_B File_A The above code is not working help is appreciated (6 Replies)
Discussion started by: pinnacle
6 Replies

2. UNIX for Dummies Questions & Answers

Join 2 files with multiple columns: awk/grep/join?

Hello, My apologies if this has been posted elsewhere, I have had a look at several threads but I am still confused how to use these functions. I have two files, each with 5 columns: File A: (tab-delimited) PDB CHAIN Start End Fragment 1avq A 171 176 awyfan 1avq A 172 177 wyfany 1c7k A 2 7... (3 Replies)
Discussion started by: InfoSeeker
3 Replies

3. Shell Programming and Scripting

Join multiple files by column with awk

Hi all, I searched through the forum but i can't manage to find a solution. I need to join a set of files placed in a directory (~1600) by column, and obtain an output with first and second column common to each file, but following columns are taken from the file in the list (precisely the fourth... (10 Replies)
Discussion started by: macsx82
10 Replies

4. Shell Programming and Scripting

how to join two files with awk.

Hi, Unix Gurus, I need to compare two file based on key value and load result to different files. requirement as following: file1 1, abc 2, bcd 4, cdefile2 1, aaaaa 2, bbbbb 5, ccccckey value is first column for both file. I need generate following files; records_in_1_not_2.txt 4,... (6 Replies)
Discussion started by: ken002
6 Replies

5. UNIX for Dummies Questions & Answers

how to join two files using "Join" command with one common field in this problem?

file1: Toronto:12439755:1076359:July 1, 1867:6 Quebec City:7560592:1542056:July 1, 1867:5 Halifax:938134:55284:July 1, 1867:4 Fredericton:751400:72908:July 1, 1867:3 Winnipeg:1170300:647797:July 15, 1870:7 Victoria:4168123:944735:July 20, 1871:10 Charlottetown:137900:5660:July 1, 1873:2... (2 Replies)
Discussion started by: mindfreak
2 Replies

6. Shell Programming and Scripting

Awk - join multiple files

Is it possible to join all the files with input1 based on 1st column? input1 a b c d e f input2 a b input3 a e input4 c (2 Replies)
Discussion started by: quincyjones
2 Replies

7. UNIX for Dummies Questions & Answers

How to use the the join command to join multiple files by a common column

Hi, I have 20 tab delimited text files that have a common column (column 1). The files are named GSM1.txt through GSM20.txt. Each file has 3 columns (2 other columns in addition to the first common column). I want to write a script to join the files by the first common column so that in the... (5 Replies)
Discussion started by: evelibertine
5 Replies

8. Shell Programming and Scripting

awk program to join 2 fields of different files

Hello Friends, I just need a small help, I need an awk program which can join 2 fields of different files which are having one common field into one file. File - 1 FileName~Size File- 2 FileName~Date I need the output file in the following way O/P- File FileName~Date~Size For... (4 Replies)
Discussion started by: abhisheksunkari
4 Replies

9. Shell Programming and Scripting

awk join 2 files

Hello All, file1 A1;B1;C1;D1;E1;F1;G1;H1;III1;J1 A2;B2;C2;D2;E2;F2;G2;H2;III2;J2 A3;B3;C3;D3;E3;F3;G3;H3;III3;J3 A4;B4;C4;D4;E4;F4;G4;H4;III4;J4file2 III1 ZZ1 S1 Y 1 P1 None NA III2 ZZ2 S2 Y 3 P2 None NA III3 ZZ3 S2 Y 5 ... (2 Replies)
Discussion started by: vikus
2 Replies

10. Shell Programming and Scripting

Join, merge, fill NULL the void columns of multiples files like sql "LEFT JOIN" by using awk

Hello, This post is already here but want to do this with another way Merge multiples files with multiples duplicates keys by filling "NULL" the void columns for anothers joinning files file1.csv: 1|abc 1|def 2|ghi 2|jkl 3|mno 3|pqr file2.csv: 1|123|jojo 1|NULL|bibi... (2 Replies)
Discussion started by: yjacknewton
2 Replies
grep(1) 							   User Commands							   grep(1)

NAME
grep - search a file for a pattern SYNOPSIS
/usr/bin/grep [-bchilnsvw] limited-regular-expression [filename]... /usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvwx] -e pattern_list... [-f pattern_file]... [file]... /usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvwx] [-e pattern_list]... -f pattern_file... [file]... /usr/xpg4/bin/grep [-E | -F] [-c | -l | -q] [-bhinsvwx] pattern [file]... DESCRIPTION
The grep utility searches text files for a pattern and prints all lines that contain that pattern. It uses a compact non-deterministic algorithm. Be careful using the characters $, *, [, ^, |, (, ), and in the pattern_list because they are also meaningful to the shell. It is safest to enclose the entire pattern_list in single quotes a'...a'. If no files are specified, grep assumes standard input. Normally, each line found is copied to standard output. The file name is printed before each line found if there is more than one input file. /usr/bin/grep The /usr/bin/grep utility uses limited regular expressions like those described on the regexp(5) manual page to match the patterns. /usr/xpg4/bin/grep The options -E and -F affect the way /usr/xpg4/bin/grep interprets pattern_list. If -E is specified, /usr/xpg4/bin/grep interprets pat- tern_list as a full regular expression (see -E for description). If -F is specified, grep interprets pattern_list as a fixed string. If neither are specified, grep interprets pattern_list as a basic regular expression as described on regex(5) manual page. OPTIONS
The following options are supported for both /usr/bin/grep and /usr/xpg4/bin/grep: -b Precedes each line by the block number on which it was found. This can be useful in locating block numbers by context (first block is 0). -c Prints only a count of the lines that contain the pattern. -h Prevents the name of the file containing the matching line from being prepended to that line. Used when searching multiple files. -i Ignores upper/lower case distinction during comparisons. -l Prints only the names of files with matching lines, separated by NEWLINE characters. Does not repeat the names of files when the pattern is found more than once. -n Precedes each line by its line number in the file (first line is 1). -s Suppresses error messages about nonexistent or unreadable files. -v Prints all lines except those that contain the pattern. -w Searches for the expression as a word as if surrounded by < and >. /usr/xpg4/bin/grep The following options are supported for /usr/xpg4/bin/grep only: -e pattern_list Specifies one or more patterns to be used during the search for input. Patterns in pattern_list must be separated by a NEWLINE character. A null pattern can be specified by two adjacent newline characters in pattern_list. Unless the -E or -F option is also specified, each pattern is treated as a basic regular expression. Multiple -e and -f options are accepted by grep. All of the specified patterns are used when matching lines, but the order of evaluation is unspeci- fied. -E Matches using full regular expressions. Treats each pattern specified as a full regular expression. If any entire full regular expression pattern matches an input line, the line is matched. A null full regular expression matches every line. Each pattern is interpreted as a full regular expression as described on the regex(5) manual page, except for ( and ), and including: 1. A full regular expression followed by + that matches one or more occurrences of the full regular expression. 2. A full regular expression followed by ? that matches 0 or 1 occurrences of the full regular expression. 3. Full regular expressions separated by | or by a new-line that match strings that are matched by any of the expressions. 4. A full regular expression that is enclosed in parentheses () for grouping. The order of precedence of operators is [], then *?+, then concatenation, then | and new-line. -f pattern_file Reads one or more patterns from the file named by the path name pattern_file. Patterns in pattern_file are terminated by a NEWLINE character. A null pattern can be specified by an empty line in pattern_file. Unless the -E or -F option is also specified, each pattern is treated as a basic regular expression. -F Matches using fixed strings. Treats each pattern specified as a string instead of a regular expression. If an input line contains any of the patterns as a contiguous sequence of bytes, the line is matched. A null string matches every line. See fgrep(1) for more information. -q Quiet. Does not write anything to the standard output, regardless of matching lines. Exits with zero status if an input line is selected. -x Considers only input lines that use all characters in the line to match an entire fixed string or regular expression to be matching lines. OPERANDS
The following operands are supported: file A path name of a file to be searched for the patterns. If no file operands are specified, the standard input is used. /usr/bin/grep pattern Specifies a pattern to be used during the search for input. /usr/xpg4/bin/grep pattern Specifies one or more patterns to be used during the search for input. This operand is treated as if it were specified as -e pattern_list. USAGE
The -e pattern_list option has the same effect as the pattern_list operand, but is useful when pattern_list begins with the hyphen delim- iter. It is also useful when it is more convenient to provide multiple patterns as separate arguments. Multiple -e and -f options are accepted and grep uses all of the patterns it is given while matching input text lines. Notice that the order of evaluation is not specified. If an implementation finds a null string as a pattern, it is allowed to use that pattern first, matching every line, and effectively ignore any other patterns. The -q option provides a means of easily determining whether or not a pattern (or string) exists in a group of files. When searching sev- eral files, it provides a performance improvement (because it can quit as soon as it finds the first match) and requires less care by the user in choosing the set of files to supply as arguments (because it exits zero if it finds a match even if grep detected an access or read error on earlier file operands). Large File Behavior See largefile(5) for the description of the behavior of grep when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes). EXAMPLES
Example 1 Finding All Uses of a Word To find all uses of the word "Posix" (in any case) in the file text.mm, and write with line numbers: example% /usr/bin/grep -i -n posix text.mm Example 2 Finding All Empty Lines To find all empty lines in the standard input: example% /usr/bin/grep ^$ or example% /usr/bin/grep -v . Example 3 Finding Lines Containing Strings All of the following commands print all lines containing strings abc or def or both: example% /usr/xpg4/bin/grep 'abc def' example% /usr/xpg4/bin/grep -e 'abc def' example% /usr/xpg4/bin/grep -e 'abc' -e 'def' example% /usr/xpg4/bin/grep -E 'abc|def' example% /usr/xpg4/bin/grep -E -e 'abc|def' example% /usr/xpg4/bin/grep -E -e 'abc' -e 'def' example% /usr/xpg4/bin/grep -E 'abc def' example% /usr/xpg4/bin/grep -E -e 'abc def' example% /usr/xpg4/bin/grep -F -e 'abc' -e 'def' example% /usr/xpg4/bin/grep -F 'abc def' example% /usr/xpg4/bin/grep -F -e 'abc def' Example 4 Finding Lines with Matching Strings Both of the following commands print all lines matching exactly abc or def: example% /usr/xpg4/bin/grep -E '^abc$ ^def$' example% /usr/xpg4/bin/grep -F -x 'abc def' ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of grep: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 One or more matches were found. 1 No matches were found. 2 Syntax errors or inaccessible files (even if matches were found). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: /usr/bin/grep +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Not Enabled | +-----------------------------+-----------------------------+ /usr/xpg4/bin/grep +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWxcu4 | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |Standard |See standards(5). | +-----------------------------+-----------------------------+ SEE ALSO
egrep(1), fgrep(1), sed(1), sh(1), attributes(5), environ(5), largefile(5), regex(5), regexp(5), standards(5) NOTES
/usr/bin/grep Lines are limited only by the size of the available virtual memory. If there is a line with embedded nulls, grep only matches up to the first null. If the line matches, the entire line is printed. /usr/xpg4/bin/grep The results are unspecified if input files contain lines longer than LINE_MAX bytes or contain binary data. LINE_MAX is defined in /usr/include/limits.h. SunOS 5.11 26 Feb 2008 grep(1)
All times are GMT -4. The time now is 03:46 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy