Sponsored Content
Top Forums Shell Programming and Scripting BASH: Sort four lines based on first line Post 302556412 by agama on Sunday 18th of September 2011 11:59:11 AM
Old 09-18-2011
I completely missed that the send, was being placed on its own line in the output!! Initially I was using spaces to separate the fields and realised that there were embedded spaces and when I converted to pipes I added an unnecessary vertical bar. The 'source' file should be something like:

Code:
;Canyon|::grand::|Send, Canyon|Exit|
;Elevator|::lift::|Send, Elevator|Exit|
;Office|::9to5::|Send, Office|Exit|
;Cabin|::log::|Send, Cabin|Exit|
;Desert|::sahara::|Send, Desert|Exit|
;Front door|::welcome::|Send, Front door|Exit|

Where the vertical bar after Send, is removed.

I generated the first set of output using the above input and this command:

Code:
sort input-source | awk -v RS="|" '1'

To run with your current file, this should work:

Code:
awk 'NF < 1 {next;} { x=x $0 "|"; } /Exit/ { print x; x="" }' input-file | sort  | awk -v RS="|" '1'

I just recut/pasted your sample data (to be sure I hadn't buggered something up along the way) and ran it through the above pipeline; it generated:

Code:
;Cabin
::log::
Send, Cabin
Exit

;Canyon
::grand::
Send, Canyon
Exit

;Desert
::sahara::
Send, Desert
Exit

;Elevator
::lift::
Send, Elevator
Exit

;Front door
::welcome::
Send, Front door
Exit

;Office
::9to5::
Send, Office
Exit

I did add a final Exit -- I hope that there is one, otherwise things might not work quite right.

Hope this helps.
This User Gave Thanks to agama For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove lines, Sorted with Time based columns using AWK & SORT

Hi having a file as follows MediaErr.log 84 Server1 Policy1 Schedule1 master1 05/08/2008 02:12:16 84 Server1 Policy1 Schedule1 master1 05/08/2008 02:22:47 84 Server1 Policy1 Schedule1 master1 05/08/2008 03:41:26 84 Server1 Policy1 ... (1 Reply)
Discussion started by: karthikn7974
1 Replies

2. Shell Programming and Scripting

sort entire line based on part of the string

hey gurus, my-build1-abc my-build10-abc my-build2-abc my-build22-abc my-build3-abc basically i want to numerically sort the entire lines based on the build number. I dont zero pad the numbers because thats "how it is" ;-) sort -n won't work because it starts from the beginning. ... (10 Replies)
Discussion started by: gurpal2000
10 Replies

3. UNIX for Dummies Questions & Answers

sort group of n lines base on pattern in first line

I have record having 10 fields and each field being printed on a new line, first line cotains name of exchange, 2nd line stock name, third line stock price, etc etc... now i want to retrieve data only for a particular exchanged and that too only 2nd and 3rd row info... NSE RNRL 70 12 1... (1 Reply)
Discussion started by: manishma71
1 Replies

4. UNIX for Dummies Questions & Answers

sort lines in different files based on the starting letter

Hi ,, i have the below file... D 2342135 B 214236 C argjlksd V lskjrghaklsr C slkrgj B sdg4tsd E aslkgjlkasg i want to sort the lines into different files based on the starting letter of the line. so that i have different files for lines starting with a letter. thanks (1 Reply)
Discussion started by: jathin12
1 Replies

5. UNIX for Dummies Questions & Answers

Sort data by the end of each line using BASH.

I am trying to sort data within a text document by the information at the end of each line. Please see below for an example: <Profile_0 Name="Random name 0" Description="This is the description." Category="System" ProfileFlags.DWD="6" ABCD="{FF350E61-4FFF-4600-BFFF-3B27DD4BA746}"/>... (6 Replies)
Discussion started by: Davinator
6 Replies

6. Shell Programming and Scripting

Remove duplicate lines based on field and sort

I have a csv file that I would like to remove duplicate lines based on field 1 and sort. I don't care about any of the other fields but I still wanna keep there data intact. I was thinking I could do something like this but I have no idea how to print the full line with this. Please show any method... (8 Replies)
Discussion started by: cokedude
8 Replies

7. UNIX for Advanced & Expert Users

Sort words based on word count on each line

Hi Folks :) I have a .txt file with thousands of words. I'm trying to sort the lines in order based on number of words per line. Example from: word word word word word word word word word word word word word word word word to desired output: word (2 Replies)
Discussion started by: martinsmith
2 Replies

8. Shell Programming and Scripting

Sort file based on number of delimeters in line

Hi, Need to sort file based on the number of delimeters in the lines. cat testfile /home/oracle/testdb /home /home/oracle/testdb/newdb /home/oracle Here delimeter is "/" expected Output: /home/oracle/testdb/newdb /home/oracle/testdb /home/oracle /home (3 Replies)
Discussion started by: Sumanthsv
3 Replies

9. Shell Programming and Scripting

How do i sort lines lexigraphical in bash?

I am currently having some problems with my script not sorting my files lexiographically. The error seem to be localized here where i sort the utt2spk file, which is done like this.. for x in test train; do for f in text utt2spk; do sort data/$x/$f -o... (7 Replies)
Discussion started by: kidi
7 Replies

10. UNIX for Beginners Questions & Answers

Reading a file line by line and print required lines based on pattern

Hi All, i want to write a shell script read below file line by line and want to exclude the lines which contains empty value for MOUNTPOINT field. i am using centos 7 Operating system. want to read below file. # cat /tmp/d5 NAME="/dev/sda" TYPE="disk" SIZE="60G" OWNER="root"... (4 Replies)
Discussion started by: balu1234
4 Replies
condor_set_shutdown(1)					      General Commands Manual					    condor_set_shutdown(1)

Name
       condor_set_shutdown Set - a program to execute upon condor_mastershut down

Synopsis
       condor_set_shutdown [-help -version]

       condor_set_shutdown-exec      programname[-debug]      [-pool	 centralmanagerhostname[:portnumber]]	  [-name     hostnamehostname-addr
       "<a.b.c.d:port>""<a.b.c.d:port>"-constraint expression-all]

Description
       condor_set_shutdownsets a program (typically a script) to execute when the condor_masterdaemon shuts down. The -exec programnameargument is
       required,  and  specifies  the program to run. The string programnamemust match the string that defines	Name in the configuration variable
       MASTER_SHUTDOWN_<Name> in the condor_masterdaemon's configuration. If it does not match, the condor_masterwill log an error and ignore  the
       request.

       For  purposes of authentication and authorization, this command requires the  ADMINISTRATOR access level. See section 3.6.1on page for fur-
       ther explanation.

Options
       -help

	  Display usage information

       -version

	  Display version information

       -debug

	  Causes debugging information to be sent to  stderr , based on the value of the configuration variable  TOOL_DEBUG

       -pool centralmanagerhostname[:portnumber]

	  Specify a pool by giving the central manager's host name and an optional port number

       -name hostname

	  Send the command to a machine identified by hostname

       hostname

	  Send the command to a machine identified by hostname

       -addr <a.b.c.d:port>

	  Send the command to a machine's master located at "<a.b.c.d:port>"

       <a.b.c.d:port>

	  Send the command to a machine located at "<a.b.c.d:port>"

       -constraint expression

	  Apply this command only to machines matching the given ClassAd expression

       -all

	  Send the command to all machines in the pool

Exit Status
       condor_set_shutdown will exit with a status value of 0 (zero) upon success, and it will exit with the value 1 (one) upon failure.

Examples
       To have all condor_masterdaemons run the program /bin/rebootupon shut down, configure the condor_masterto contain a definition similar to:

       MASTER_SHUTDOWN_REBOOT = /sbin/reboot

       where  REBOOT is an invented name for this program that the condor_masterwill execute. On the command line, run

       % condor_set_shutdown  -exec reboot -all
       % condor_off -graceful -all

       where the string  reboot matches the invented name.

Author
       Condor Team, University of Wisconsin-Madison

Copyright
       Copyright (C) 1990-2012 Condor Team, Computer Sciences Department, University of  Wisconsin-Madison,  Madison,  WI.  All  Rights  Reserved.
       Licensed under the Apache License, Version 2.0.

       See the Condor Version 7.8.2 Manualor http://www.condorproject.org/licensefor additional notices. condor-admin@cs.wisc.edu

								  September 2012					    condor_set_shutdown(1)
All times are GMT -4. The time now is 08:21 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy