03-14-2012
How to print selected fields
HI,
I am using below command to display the words, but i am getting awk error. Please help me out on this
I am using below code
Quote:
echo "dis clusqmgr(*) cluster(BT.CL.APOLLOC1) conname qmtype deftype"| runmqsc BT.QM.ASSA10T1| egrep 'CHANNEL|QMTYPE|CLUSQMGR|CONNAME'|sed -e 's/CLUSQMGR(/+/g'|sed 's/)/,/g'|sed 's/(/,/g'|tr -d "\n"|tr "+" "\n"|tr -d " "|awk -F,'{ print $1 $2 $3 }'
i am getting error as
Quote:
awk: syntax error near line 2
awk: bailing out near line 2
If i use below code i am getting below OP
Output from where i am trying to select the fields after delimiter ","
Quote:
echo "dis clusqmgr(*) cluster(BT.CL.APOLLOC1) conname qmtype deftype"| runmqsc BT.QM.ASSA10T1| egrep 'CHANNEL|QMTYPE|CLUSQMGR|CONNAME'|sed -e 's/CLUSQMGR(/+/g'|sed 's/)/,/g'|sed 's/(/,/g'|tr -d "\n"|tr "+" "\n"|tr -d " "
Quote:
BT.QM.ASNA02T1,CHANNEL,TO_QM_ASNA02T1.C1,CLUSTER,BT.CL.APOLLOC1,CONNAME,10.81.30.19,51431,,DEFTYPE,C LUSSDRB,QMTYPE,NORMAL,
from here i want to select 1,2, and 3rd fields after ","
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi everybody:
Could anybody tell me how I can print from a file a selected rows with awk. In my case I only want print in another file all the rows from NR=8 to NR=2459 and the increment each 8 times.
I tried to this:
awk '{for (i=8; i=2459; i+=8); NR==i}' file1 > file2
But doesn't... (6 Replies)
Discussion started by: tonet
6 Replies
2. Shell Programming and Scripting
Hi everybody:
I try to print in new file selected lines from another file wich depends on the first column.
I have done a script like this:
lines=( "1" "2" "3" "4" "5" "6" "7" "8" "9" "10" "11" "21" "31" "41" "51" "55" "57" "58" )
${lines}
for lines in ${lines}
do
awk -v ... (6 Replies)
Discussion started by: tonet
6 Replies
3. Shell Programming and Scripting
Hi can anyone assist me on my problem.
I try to grep 1 word in 1 line data. Example like below.
* Data below located in a.txt, i just wanna grep just processing-time = "12"
total-octets = "20080718214210Z" total-pages = "" octets-completed = "20080721064351Z" pages-completed = "2"... (10 Replies)
Discussion started by: anakiar
10 Replies
4. UNIX for Dummies Questions & Answers
I have a large file and want to print out, but I don't want to print all, just some pages. Like if the file has 100 pages, I just want to print out page 3-34 and 67-87. How can I do?
By the way, I already try "lp -o page-ranges=value" command which doesn't work on my computer because -o <option>... (2 Replies)
Discussion started by: wendyz
2 Replies
5. Shell Programming and Scripting
Hi,
I want to print particular chars in a string. for example
ie.,
consider " dear,. roopa$#09%~`';']" as the example string. Here, I want to print only alphanumeric chars..
suppose , if i want only alphanumeric... value would be "dear roopa09"
suppose , if i want some spl char(,) with... (2 Replies)
Discussion started by: balan_mca
2 Replies
6. Shell Programming and Scripting
I am trying to print 1st, 2nd, 13th and 14th fields of a file of line numbers from 29 to 10029. I dont know how to put this in one code. Currently I am removing the selected lines by
awk 'NR==29,NR==10029' File1 > File2
and then doing
awk '{print $1, $2, $13, $14}' File2 > File3
Can... (3 Replies)
Discussion started by: ananyob
3 Replies
7. Shell Programming and Scripting
this works:
cat file.txt| awk 'NR==45,NR==55'
but how do I assign variables instead of numbers:
this does not work:
cat file.txt | awk 'NR==$start,NR==$end'
there need variables instead of numbers
Sorry for my English
Thank you for answer (3 Replies)
Discussion started by: gizmo16
3 Replies
8. Shell Programming and Scripting
Hi experts,
I need to print the first field first then last two fields should come next and then i need to print rest of the fields.
Input :
a1,abc,jsd,fhf,fkk,b1,b2
a2,acb,dfg,ghj,b3,c4
a3,djf,wdjg,fkg,dff,ggk,d4,d5
Expected output:
a1,b1,b2,abc,jsd,fhf,fkk... (6 Replies)
Discussion started by: 100bees
6 Replies
9. Shell Programming and Scripting
Hi
I have a file as below
<field1> <field2> <field3> ... <field_num1> <field_num2>
Trying to sort based on difference of <field_num1> and <field_num2> in desceding order and print all fields.
I tried this and it doesn't sort on the difference field .. Appreciate your help.
cat... (9 Replies)
Discussion started by: newstart
9 Replies
10. Shell Programming and Scripting
The below code works great, kindly provided by @Don Cragun, the lines in bold print the current output. Since some of the fields printed can be blank some of the fields are shifted. I can not seem too add . to the blank fields like in the desired output. Basically, if there is nothing in the field... (10 Replies)
Discussion started by: cmccabe
10 Replies
LEARN ABOUT DEBIAN
shell-quote
SHELL-QUOTE(1p) User Contributed Perl Documentation SHELL-QUOTE(1p)
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.8.4 2005-05-03 SHELL-QUOTE(1p)