03-10-2011
-F= Defining = as field separator
NR==FNR If this is true, we are currently in the 1st file (f1)
{_[$1]=$2; We create an asociative array named _, where field 1 ($1) is the key and field 2 ($2) is the value to that key
next} When done with this line, just stop processing it and get the next one
_[$1] Here NR==FNR is not true anymore, so we are in the 2nd file (f2), and we check if the key from array _ matches
{print $1,_[$1]; and so we print field 1 and the element of the array where the key matches field 1
next} You already know this one, look above
1 When _[$1] did not match, we go here and just print the line
OFS="=" Defining "=" as the output field separator
f1 f2 Those 2 are our input files - the order is important as it depends, how we process the files
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi I need to help on finding the below pattern using sed
<b><a href="/home/document.do?assetkey=x-y-abcde-1&searchclause=photo">
and replace as below in the same line on the index file.
<b><a href="/abcde.html">
thx in advance.
Mari (5 Replies)
Discussion started by: maridhasan
5 Replies
2. Shell Programming and Scripting
Hello Everybody,
I am doing something like this on Redhat Linux
h=`cut -d"." -f4 file1`
s=`cut -d"." -f4 file2`
sed "s/$h/$s/g" file3
but this is not working
but if giving constant value its working,
for ex. sed "s/93/$h/g" file3
help...
Thanks for looking into my question (2 Replies)
Discussion started by: arvind_aks15
2 Replies
3. Shell Programming and Scripting
I have to update a paramater (dateMemLimit) present in a file, with a date (YYYYMMDD) equal to 5 days before the sysdate. The parameter will be in the following format.
dateMemLimit = 20091201
Please note the blank spaces present between 'dateMemLimit' &'=' and between '='... (4 Replies)
Discussion started by: rajesh8s
4 Replies
4. Shell Programming and Scripting
Hello all
I have a file with a lot of records...Each one have a ID like this:
000000001 LDR L -----nam--2200217Ia-45e0
000000001 891
000000001 892
000000001 893
and so on
then you have the second record:
000000002 LDR L -----nam--2200208Ia-15e0
000000002 891
000000002... (5 Replies)
Discussion started by: ldiaz2106
5 Replies
5. Shell Programming and Scripting
I need to do a find and replace. I tried below logic but getting warnings Could you please help?
a=`echo "<!DOCTYPE aaaaa bbbbb \"sample.dtd\">"`
b="<!DOCTYPE aaaaa bbbbb \" /a/b/c/datain/d_k/sample.dtd \">"
echo $a | sed -e "s/$a/$b/" > c.txt
getting the following error
sed:... (1 Reply)
Discussion started by: kmanivan82
1 Replies
6. Shell Programming and Scripting
Hi,
I have a file such that:
tart*)*98'bank'ksb64bank)(tart2d&f44bank
I want to replace to: (only between tart and bank)
tart*)*98'replaced'ksb64bank)(tart2d&f44replaced
Thanks. (6 Replies)
Discussion started by: tara123
6 Replies
7. Shell Programming and Scripting
The content of the file filea.txt is as follows.
---------
case $HOSTNAME in
aaa)
DS_PARM_VALUE_SET=vsDev
APT_Configuration_File=/appl/infoserver/Server/Configurations/2node.apt
;;
bbb)
DS_PARM_VALUE_SET=vsQA... (3 Replies)
Discussion started by: kmanivan82
3 Replies
8. Shell Programming and Scripting
File
1,2,33,C,B
3,5,66,K,R
1,2,33,H,M
3,5,66,M,C
6,9,66,J,F
I will use the below command to find and replace in sed, where I'm using variable to find pattern.
while read line
do
sed 's/$line/77/' file
done<inputfile
But here I need to find value in column 3 and... (26 Replies)
Discussion started by: Roozo
26 Replies
9. Shell Programming and Scripting
Hi All,
I have a file as shown below: myFile.dat
#----------------------------------------------------------
dataFile
{
Name shiva;
location Delhi;
travelID IDNumber;
}
4
(
560065
700007
100001
200002
)... (8 Replies)
Discussion started by: linuxUser_
8 Replies
10. UNIX for Beginners Questions & Answers
Hi Everyone,
I want to find this 2 strings in a single line a file and replace the second string.
this is the line i need to find
<param name="user" value="CORE_BI"/>
find user and CORE_BI and replace only CORE_BI with admin
so finally the line should look like this.
<param... (5 Replies)
Discussion started by: shajay12
5 Replies
SORT(1) General Commands Manual SORT(1)
NAME
sort - sort a file of ASCII lines
SYNOPSIS
sort [-bcdfimnru] [-tc] [-o name] [+pos1] [-pos2] file ...
OPTIONS
-b Skip leading blanks when making comparisons
-c Check to see if a file is sorted
-d Dictionary order: ignore punctuation
-f Fold upper case onto lower case
-i Ignore nonASCII characters
-m Merge presorted files
-n Numeric sort order
-o Next argument is output file
-r Reverse the sort order
-t Following character is field separator
-u Unique mode (delete duplicate lines)
EXAMPLES
sort -nr file # Sort keys numerically, reversed
sort +2 -4 file # Sort using fields 2 and 3 as key
sort +2 -t: -o out # Field separator is :
sort +.3 -.6 # Characters 3 through 5 form the key
DESCRIPTION
Sort sorts one or more files. If no files are specified, stdin is sorted. Output is written on standard output, unless -o is specified.
The options +pos1 -pos2 use only fields pos1 up to but not including pos2 as the sort key, where a field is a string of characters delim-
ited by spaces and tabs, unless a different field delimiter is specified with -t. Both pos1 and pos2 have the form m.n where m tells the
number of fields and n tells the number of characters. Either m or n may be omitted.
SEE ALSO
comm(1), grep(1), uniq(1).
SORT(1)