Script help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script help
# 8  
Old 01-30-2015
Code:
awk '{for(I=1;I<=NF;I++) print $I}'

----- could print the $2 part of the output file but the issue is how to resolve the $1 part of the output file.....could you help with how I can print the first column of the output file

Moderator's Comments:
Mod Comment edit by bakunin: fixed CODE-tags. Please keep in mind to use them.

Last edited by bakunin; 01-30-2015 at 05:52 AM..
# 9  
Old 01-30-2015
Code:
awk ' /^[^ ]/  { 
		frst_fld=$1 
	       } 
      ! /^ *$/ { 
		for(i=NF==4?2:1;i<=NF;i++) { print frst_fld , $i }
	       }
' file

# 10  
Old 01-30-2015
Thanks anbu23... You are an expert and I need to understand your script now.
# 11  
Old 01-30-2015
Quote:
Originally Posted by anbu23
Code:
awk ' /^[^ ]/  { 
          [....]
	       }

Quote:
Originally Posted by Indra2011
Thanks anbu23... You are an expert and I need to understand your script now.
This means: when a line starts with anything save for a space char (this is what the regex "^[^ ]" means), execute whatever is between "{" and "}".

The second clause works similar but the "!" reverses the meaning: for every line not fitting the pattern do ...

I hope this helps.

bakunin
# 12  
Old 01-30-2015
/^[^ ]/ If the input row doesn't start with space then assign first field to frst_fld

! /^ *$/ Execute the below block if input row is not empty or only spaces

Code:
{ 
		for(i=NF==4?2:1;i<=NF;i++) { print frst_fld , $i }
	       }

for(i=NF==4?2:1;i<=NF;i++) { print frst_fld , $i } If input row has four fields then assign two else one to i
# 13  
Old 01-30-2015
Playing around with the field separator:
Code:
awk '$1 != "" {F1=$1} {for (i=2; i<=NF; i++) print F1, $i}' FS=" +" file
1 21
1 31
1 12
1 21
1 53
1 65
2 78
2 67
2 53
2 34
2 45
2 67

Caveat: some awks might not like this.
# 14  
Old 01-30-2015
Thanks all of u
Login or Register to Ask a Question

Previous Thread | Next Thread

5 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to block first bash script until second bash script script launches web server/site?

I'm new to utilities like socat and netcat and I'm not clear if they will do what I need. I have a "compileDeployStartWebServer.sh" script and a "StartBrowser.sh" script that are started by emacs/elisp at the same time in two different processes. I'm using Cygwin bash on Windows 10. My... (3 Replies)
Discussion started by: siegfried
3 Replies

2. Shell Programming and Scripting

Shell script works fine as a standalone script but not as part of a bigger script

Hello all, I am facing a weird issue while executing a code below - #!/bin/bash cd /wload/baot/home/baotasa0/sandboxes_finance/ext_ukba_bde/pset sh UKBA_publish.sh UKBA 28082015 3 if then echo "Param file conversion for all the areas are completed, please check in your home directory"... (2 Replies)
Discussion started by: ektubbe
2 Replies

3. UNIX for Dummies Questions & Answers

Calling a script from master script to get value from called script

I am trying to call a script(callingscript.sh) from a master script(masterscript.sh) to get string type value from calling script to master script. I have used scripts mentioned below. #masterscript.sh ./callingscript.sh echo $fileExist #callingscript.sh echo "The script is called"... (2 Replies)
Discussion started by: Raj Roy
2 Replies

4. Shell Programming and Scripting

Script will keep checking running status of another script and also restart called script at night

I am using blow script :-- #!/bin/bash FIND=$(ps -elf | grep "snmp_trap.sh" | grep -v grep) #check snmp_trap.sh is running or not if then # echo "process found" exit 0; else echo "process not found" exec /home/Ketan_r /snmp_trap.sh 2>&1 & disown -h ... (1 Reply)
Discussion started by: ketanraut
1 Replies

5. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
Login or Register to Ask a Question