03-09-2008
fpmurphy - you were right! Thanks
I just had to tweek it like this:
i.e. setting it to NULL.
I put this in my script before the cut's and it's doing the job!
Thanks again,
p.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
can anyone tell me any way to change record separator (default is new line).
RS in nawk as not working.
Thanks in advance.
Regards
Rochit (7 Replies)
Discussion started by: rochitsharma
7 Replies
2. Shell Programming and Scripting
How do I use double quotes as a record seperator in awk? (4 Replies)
Discussion started by: locoroco
4 Replies
3. Shell Programming and Scripting
I have tried to use ">" as record separator, but it doesn't work.
I have tried this:
awk BEGIN{RS=">"}'{print $0}' input
output:
awk: BEGIN{RS=>}{print $0}
awk: ^ syntax error
awk BEGIN{RS="\>"}'{print $0}' input
awk: BEGIN{RS=\>}{print $0}
awk: ^ backslash not... (2 Replies)
Discussion started by: locoroco
2 Replies
4. Shell Programming and Scripting
I'm working on a different stage of a project that someone helped me address elsewhere in these threads.
The .docs I'm cycling through look roughly like this:
1 of 26 DOCUMENTS
Copyright 2010 The Age Company Limited
All Rights Reserved
The Age (Melbourne, Australia)
November 27, 2010... (9 Replies)
Discussion started by: spindoctor
9 Replies
5. Shell Programming and Scripting
HI all,
i have the source file like below,
05 BL-FEE-CYC-CDE PIC S9(03) COMP-3.
05 BL-FEE-ERR-MSG PIC X(00030).
05 BL-FEE-TYPE PIC X(00001).
418181*# 05 ... (7 Replies)
Discussion started by: baskivs
7 Replies
6. Shell Programming and Scripting
Hi,
I have a bunch of records within a directory where each one has this form:
(example file1)
1 2 50 90 80 90 43512 98 0909 79869 -9 7878 33222 8787 9090 89898 7878 8989 7878 6767 89 89 78676 9898 000 7878 5656 5454 5454
and i want for all of these files to be... (3 Replies)
Discussion started by: amarn
3 Replies
7. Shell Programming and Scripting
How do I use single quotes as record separator in awk?
I just couldn't figure that out. I know how to use single quotes as field separator, and double quotes as both field and record separator ... (1 Reply)
Discussion started by: locoroco
1 Replies
8. Shell Programming and Scripting
Hello to all,
Please some help on this. I have the file in format as below.
How can I set the record separator as the string below in red
"No. Time Source Destination Protocol Length Info"
I've tried code below but it doesn't seem to... (6 Replies)
Discussion started by: cgkmal
6 Replies
9. UNIX for Dummies Questions & Answers
I am using the following code to modify all odd lines in a file:
awk 'NR % 2 { print } !(NR % 2)' FWD-1.fas | cut -c5-600
I however, do not want cut to affect the odd lines
Any help? (3 Replies)
Discussion started by: Xterra
3 Replies
10. Shell Programming and Scripting
Hi,
I'm using gawk to read a text file and count the sentences.
I want to use a record separator of a period, exclamation mark and a question mark.
The problem is that the file contains words like "Mr. Smith" so the periods in the appellation are tripping my record separator.
This is my... (12 Replies)
Discussion started by: 1Brajesh
12 Replies
LEARN ABOUT CENTOS
shell-quote
SHELL-QUOTE(1) User Contributed Perl Documentation SHELL-QUOTE(1)
NAME
shell-quote - quote arguments for safe use, unmodified in a shell command
SYNOPSIS
shell-quote [switch]... arg...
DESCRIPTION
shell-quote lets you pass arbitrary strings through the shell so that they won't be changed by the shell. This lets you process commands
or files with embedded white space or shell globbing characters safely. Here are a few examples.
EXAMPLES
ssh preserving args
When running a remote command with ssh, ssh doesn't preserve the separate arguments it receives. It just joins them with spaces and
passes them to "$SHELL -c". This doesn't work as intended:
ssh host touch 'hi there' # fails
It creates 2 files, hi and there. Instead, do this:
cmd=`shell-quote touch 'hi there'`
ssh host "$cmd"
This gives you just 1 file, hi there.
process find output
It's not ordinarily possible to process an arbitrary list of files output by find with a shell script. Anything you put in $IFS to
split up the output could legitimately be in a file's name. Here's how you can do it using shell-quote:
eval set -- `find -type f -print0 | xargs -0 shell-quote --`
debug shell scripts
shell-quote is better than echo for debugging shell scripts.
debug() {
[ -z "$debug" ] || shell-quote "debug:" "$@"
}
With echo you can't tell the difference between "debug 'foo bar'" and "debug foo bar", but with shell-quote you can.
save a command for later
shell-quote can be used to build up a shell command to run later. Say you want the user to be able to give you switches for a command
you're going to run. If you don't want the switches to be re-evaluated by the shell (which is usually a good idea, else there are
things the user can't pass through), you can do something like this:
user_switches=
while [ $# != 0 ]
do
case x$1 in
x--pass-through)
[ $# -gt 1 ] || die "need an argument for $1"
user_switches="$user_switches "`shell-quote -- "$2"`
shift;;
# process other switches
esac
shift
done
# later
eval "shell-quote some-command $user_switches my args"
OPTIONS
--debug
Turn debugging on.
--help
Show the usage message and die.
--version
Show the version number and exit.
AVAILABILITY
The code is licensed under the GNU GPL. Check http://www.argon.org/~roderick/ or CPAN for updated versions.
AUTHOR
Roderick Schertler <roderick@argon.org>
perl v5.16.3 2010-06-11 SHELL-QUOTE(1)