Sponsored Content
Full Discussion: Adding new line to file
Top Forums Shell Programming and Scripting Adding new line to file Post 302903136 by lazy_bear on Sunday 25th of May 2014 05:54:43 AM
Old 05-25-2014
Quote:
Originally Posted by Don Cragun
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 Smilie.
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 Smilie.
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:
Code:
 coordinate_x coordinate_y  variable_name  value_1 value_2...

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:
Code:
open my $fh, '<', $file1 or die "$file1: $!";

my $cntl = 1; # or whatever you want
my $line;
while( <$fh> ) {
    if( $. == $ctl ) { 
        $line = $_;
        last;
    }
}
close $fh

# now you can use $line here

@Aia: thank you so much for your hint. it's just where I stuck Smilie.
Thank you for the suggestion, hope it can reduce the script running time.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding Text To each line of a file

How would I add text to the beginning of each line in a text file in a script right after the file is created from another text file. (4 Replies)
Discussion started by: cubs0729
4 Replies

2. Shell Programming and Scripting

adding a line to a file

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)
Discussion started by: andy2000
2 Replies

3. Shell Programming and Scripting

Adding a line to a file

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)
Discussion started by: mwrg
12 Replies

4. Shell Programming and Scripting

Adding filename to each line of the file

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)
Discussion started by: scripting_newbe
4 Replies

5. Shell Programming and Scripting

adding a line to file

i am writing a script which will let user to input a line. i m not sure how do i add this line to the end of a txt file ? (8 Replies)
Discussion started by: 76455
8 Replies

6. Shell Programming and Scripting

Adding data in a file on same line

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)
Discussion started by: prarat
2 Replies

7. Shell Programming and Scripting

Adding New empty line in a file

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)
Discussion started by: G.K.K
4 Replies

8. Shell Programming and Scripting

adding a line to a text file

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)
Discussion started by: LMHmedchem
3 Replies

9. Shell Programming and Scripting

Adding tab/new line at the end of each line of a file

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)
Discussion started by: Sourav Das
20 Replies

10. Shell Programming and Scripting

Adding line in a file using info from previous line

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)
Discussion started by: MKH
6 Replies
GETFLAGS(8)						      System Manager's Manual						       GETFLAGS(8)

NAME
getflags, usage - command-line parsing for shell scripts SYNOPSIS
getflags $* usage [ progname ] DESCRIPTION
Getflags parses the options in its command-line arguments according to the environment variable $flagfmt. This variable should be a list of comma-separated options. Each option can be a single letter, indicating that it does not take arguments, or a letter followed by the space-separated names of its arguments. Getflags prints an rc(1) script on standard output which initializes the environment variable $flagx for every option mentioned in $flagfmt. If the option is not present on the command-line, the script sets that option's flag vari- able to an empty list. Otherwise, the script sets that option's flag variable with a list containing the option's arguments or, if the option takes no arguments, with the string 1. The script also sets the variable $* to the list of arguments following the options. The final line in the script sets the $status variable, to the empty string on success and to the string usage when there is an error parsing the command line. Usage prints a usage message to standard error. It creates the message using $flagfmt, as described above, $args, which should contain the string to be printed explaining non-option arguments, and $0, the program name (see rc(1)). If run under sh(1), which does not set $0, the program name must be given explicitly on the command line. EXAMPLE
Parse the arguments for leak(1): flagfmt='b,s,f binary,r res,x width' args='name | pid list' if(! ifs=() eval `{getflags $*} || ~ $#* 0){ usage exit usage } SOURCE
/src/cmd/getflags.c /src/cmd/usage.c SEE ALSO
arg(3) GETFLAGS(8)
All times are GMT -4. The time now is 04:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy