Hi everyone,
currently I writing a script for comparing 2 variable in 2 line then output the line with equal value to new file. However, the new file only contain last line only, the earlier line was delete. I do google my problem but still not find the way out. Sorry for my English.
Thank you very much in advance .
Showing us the work that you have done is good. But, just showing us a script that is not working without also showing us sample input and expected output makes it hard to guess at all of the things that might be wrong in your script. The script you have shown us seems to be a strange mix of shell and awk statements.
Please tell us what operating system you're using, tell us what shell you're using, show us some sample input, and show us the exact output you want to produce from that sample input.
This User Gave Thanks to Don Cragun For This Post:
By the way, perl has an special variable `$.' (that's $ and period) which might help you read the specific line of a file without resorting to making calls to the external head and tail.
So instead of $line1= `head -tmp1 file1| tail -1`;
Showing us the work that you have done is good. But, just showing us a script that is not working without also showing us sample input and expected output makes it hard to guess at all of the things that might be wrong in your script. The script you have shown us seems to be a strange mix of shell and awk statements.
Please tell us what operating system you're using, tell us what shell you're using, show us some sample input, and show us the exact output you want to produce from that sample input.
@Don Cragun, thank you for remind me about the manner .
my job is rarely relate to scripting and I just make this script due to my colleague request on yesterday so I just try to use what I know and google what I don't. That's why my script look like a bunch of scraps .
by the way, my OS is Linux Redhat, I'm using Perl which included. My script is used for comparing 2 file which contain lines with this info:
My expect output file which contains all lines with same values, another output file contain lines with different values. Currently, I use loop for comparing 2 file but it's seem take time cause input files having few thousand lines each, so I'm finding another way.
Quote:
Originally Posted by Aia
By the way, perl has an special variable `$.' (that's $ and period) which might help you read the specific line of a file without resorting to making calls to the external head and tail.
So instead of $line1= `head -tmp1 file1| tail -1`;
maybe something like:
@Aia: thank you so much for your hint. it's just where I stuck .
Thank you for the suggestion, hope it can reduce the script running time.
I still have no idea what you're trying to compare when you're looking at lines from your two input files and I have no idea what output you're trying to produce. Are you just trying to extract lines from your 2nd input file that have a variable_name in the 3rd field that matches a variable_name in the 3rd field on any line in your 1st input file? If this is what you want, it will be easy to write a small, fast awk script to do what you want.
I repeat: Please show us a small, representative pair of sample input files, and show us the output that should be produced from those input files.
This User Gave Thanks to Don Cragun For This Post:
I want to show you what you're demanding, but I really can't. In my company, pc for working can not access to internet, I have to use another pc which allowed to access internet to go here, and working pc and internet pc are not connected, so there is no way I can show you the infos you want, please pardon me for this.
As I said, my job is rarely relate with scripts. I only know a little C-shell via some scripts for my work verification, know nothing about awk and Perl is just a little since 2 days ago. I use Perl because it can output an excel file (as my colleague told me).
I will try to describe my problem again. I have 2 file which contain lines with these info
I need to compare which line in 1st file has same variable_name with 2nd file, which doesn't, then print to excel file one sheet for all same variable_name, another sheet for different variable_name.
Currently, I'm stuck in how to compare them quicker, because my script take terrible long running time for compare them. I'm finding another way to overcome my problem.
Please kindly have some suggestion.
I have a shell script that looks something like the following:
mysql -uroot db1 < db1.sql
mysql -uroot db2 < db2.sql
mysql -uroot db3 < db3.sql
mysql -uroot db4 < db4.sql
....
different db names in more than 160 lines.
I want to run this script with nohup and have a status later.
So,... (6 Replies)
Hello Everyone,
I need a help from experts of this community regarding one of the issue that I am facing with shell scripting.
My requirement is to append char's at the end of each line of a file. The char that will be appended is variable and will be passed through command line.
The... (20 Replies)
I have a tab delimited text file,
id name distance
1 3325167 0.334561754018
2 3290488 0.389444269458
3 3288794 0.392312701782
4 3347602 0.392532202097
5 3295355 0.394394169485
I need to add a line after the header line. The first and third field of... (3 Replies)
Hi,
I am new to Sed /awk commands. using that i want to add new empty line after every line in a file by leaving first three lines. So, can any one help me out how to achieve this.
Example:
---------
Input Filename: file1.txt
Input Data:
--------Report--------
Date:20-10-03... (4 Replies)
Hi,
I have one file a.txt ,the contents of the file is
A B C
D E F
and I have another file b.txt, the contents of the file is
1 2 3
4 5 6
now when I am using this command
cat a.txt b.txt > c.txtI am getting the output as
A B C
D E F
1 2 3
4 5 6
but i need the output... (2 Replies)
Hi,
I am a relative new bee in scripting. I need to develop a script such that the code would iterate through each file in a source directory and append every line of the file with '|' and the corresponding file filename.
eg
INPUT file IF927_1.dat -
H|abc... (4 Replies)
Hi guys,
How to add a line before a specific line (identified with the starting work ex: xxx) of a file and write it back to the same file?
Thanks (12 Replies)
I want to add a line at the beginning and at the end of a file..
e.g.
echo "at the beginning.." > tmp_file &&
cat file >> tmp_file &&
echo "last line" >> tmp_file &&
mv tmp_file file
is there a nice way for doing that??
Thx (2 Replies)