I have a colon-delimited text file of names, addresses and phone numbers. I am trying to write a script that can add additional entries and then sort it alphabetical by last name and resave it to the original file. I am using C shell to script. This is the section of my script that I wish to sort the data file and then save it to itself:
Code:
set file = `sort -k1,2 $myfile`
echo $file > $myfile
This code works and does sort, but the problem comes when I try to echo the sorted data back into the original file. Echo apparently does not show the original newline characters, so the updated file I get no longer is sorted by rows, but rather one continuous string. Or the problem could lie in the setting of the 'file' variable, in which newline characters are not set into the variable 'file' as well. I have tried another method using the following code:
Code:
sort -k1,2 $myfile > 0
cat 0 > $myfile
rm 0
Basically above, instead of using the echo command, I actually redirect the sorted output to a temporary file called '0' and then cat it back, overwriting the original contents of $myfile. While this method works, it requires that I temporarily create the '0' file.
My underlining question is: How can I sort the data file and then save it back into itself without having to create a temporary file '0' and still have the newline characters that separate each row remain? Thanks
Hi
I am using nohup command in script(say nohup ls- ltr > somefile 2>&1 & ). I dont want any kind of output to be displayed on screen. When i tried the above nohup it still gives me some out put on screen like
2991
Done >somefile 2>&1
Please you let me know what is... (3 Replies)
Hi,
When I run the following command in terminal it works. The string TEST is appended to a file silently.
echo TEST | tee -a file.txt &>/dev/null
However, when I paste this same line to a file, say shell1.sh, and use bourne shell .
I run this file in terminal, ./shell1.sh.
However I... (1 Reply)
I am using tar command to append daily database backups on tape. "tar --append " command help me to do this.
But tar --append command does not produce any output on stdout if it succeed.
I want the output for that appended command to a log file.
This log file should contain only the name of the... (0 Replies)
Hi All,
I want to display content on command promt and also write in file.
For that iI ahve to write two sentence
echo "XXXXXXX"
echo "XXXXXXXX" >> 1.txt
Is there any way to write in one echo statement (1 Reply)
I am trying to write a simple script which prints some output, but also saves the same in a logfile.
echo hello
echo hello >> logfile
Is there anyway i Can write single sentence of code and get the same result:
( i am using CSH ) (4 Replies)
Dear All,
./waf --run scratch/myfirst > log.out 2>&1
The above is a command line to redirect the output to a file called log.out.
what is the 2>&1 part for ?
Thank you (2 Replies)
Hello,
I'm new to Unix (working with OS X 10.8.5) and therefore at the beginning of my adventure. If I ask something stupid, then this is not intentional, but simple nescience. :rolleyes:
I have a problem with the redirection of text file content to echo. I was experimenting with redirection... (6 Replies)
Hi,
I have a peculiar issue w.r.t redirecting the command output to a file when using loop.
I am redirecting command output to same file in a series of if condition statements, but if one block of if condition statement writes the log to the file , the subsequent block of if condition... (7 Replies)
Perl::Critic::Policy::Subroutines::ProhibitReturnSort(3pUser Contributed Perl DocumentatPerl::Critic::Policy::Subroutines::ProhibitReturnSort(3pm)NAME
Perl::Critic::Policy::Subroutines::ProhibitReturnSort - Behavior of "sort" is not defined if called in scalar context.
AFFILIATION
This Policy is part of the core Perl::Critic distribution.
DESCRIPTION
The behavior of the builtin "sort" function is not defined if called in scalar context. So if you write a subroutine that directly
"return"s the result of a "sort" operation, then you code will behave unpredictably if someone calls your subroutine in a scalar context.
This Policy emits a violation if the "return" keyword is directly followed by the "sort" function. To safely return a sorted list of
values from a subroutine, you should assign the sorted values to a temporary variable first. For example:
sub frobulate {
return sort @list; # not ok!
@sorted_list = sort @list;
return @sort # ok
}
KNOWN BUGS
This Policy is not sensitive to the "wantarray" function. So the following code would generate a false violation:
sub frobulate {
if (wantarray) {
return sort @list;
}
else{
return join @list;
}
}
CONFIGURATION
This Policy is not configurable except for the standard options.
CREDITS
This Policy was suggested by Ulrich Wisser and the <http://iis.se> team.
AUTHOR
Jeffrey Ryan Thalhammer <jeff@imaginative-software.com>
COPYRIGHT
Copyright (c) 2005-2011 Imaginative Software Systems. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. The full text of this license
can be found in the LICENSE file included with this module.
perl v5.14.2 2012-06-07 Perl::Critic::Policy::Subroutines::ProhibitReturnSort(3pm)