Sponsored Content
Full Discussion: Sort references
Top Forums UNIX for Dummies Questions & Answers Sort references Post 302903997 by Don Cragun on Saturday 31st of May 2014 11:40:25 PM
Old 06-01-2014
With well over 800 posts in these forums and the code you have been given, I am disappointed that you could not add reference numbers on your own. Try this minor modification to clx's awk script:
Code:
#!/bin/ksh
# Usage: sortrefs [starting_sequence_number [input_file]]
# Sort references found in the given input_file (default ref.txt) and add
# sequences numbers starting with starting_sequence_number (default 1).
awk '
{	gsub(/\n/,"\1");
	print $0 "\1"
}' RS='' "${2:-ref.txt}" | sort | awk -v sseq="${1:-1}" '
{	gsub(/\1/, "\n")
	printf("[%d] %s\n", sseq++, $0)
}'

As always, if you want to try this on a Solaris/SunOS system, change awk (in both places where it is used in this script) to /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk.

I use the Korn shell, but this script can use, ksh, bash, or any other shell that supports POSIX required variable expansions. If you save the above script in a file names sortrefs, make it executable, and invoke it as:
Code:
./sortrefs 44

when ref.txt contains your sample input, the output produced is:
Code:
[44] Anderson, E.R., Duvall, T.L., Jr., and Jefferies, S.M., 1990. Modelling 
     of Solar Oscilation Power Spectra. The Astrophysical Journal, vol. 364, 
     p. 699.

[45] Basu, S., Antia, H.M., and Tripathy, S.C. 1999. Ring Diagram Analysis
     of Near-Surface Flow in the Sun. The Astrophysical Journal, vol. 512, 
     pp. 458-470.

[46] Duvall, T.L., Jr., and Harvey, J.W., 1986. Solar Doppler Shifts: Sources 
     of Continuous Spectra. In Seismology of the Sun and the Distant Stars, 
     (ed. D. Gough), NATO A Ser., Reidel, Dordrecht, p. 105.

[47] Nigam, R., Kosovichev, A.G., Scherrer, P.H., and Schou, J., 1998. 
     Asymmetry in Velocity and Intensity Helioseismic Spectra: A solution 
     to a long-standing puzzle. The Astrophysical Journal, vol. 495, 
     pp. L115-L118.

 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

IRIX books, manuals, references...

Does anyone out there know of ANY specific books pertaining to SGI's flavor of Unix - IRIX? I have been in contact with SGI directly and they have not supplied me with any usable reference material or manuals. I realize man pages are a good source for info, but I need to go a little deeper... (6 Replies)
Discussion started by: lozinit
6 Replies

2. AIX

AIX References?

Would like to know where or what is available to quickly develope my AIX skills. Training budget limited.. Thanks and have a great day! (1 Reply)
Discussion started by: lmwical
1 Replies

3. UNIX for Advanced & Expert Users

Compound indirect variable references

Using bash, I'm trying to read a .properties file (name=value pairs), assigning an indirect variable reference for each line in the file. The trick is that a property's value string may contain the name of a property that occurred earlier in the file, and I want the name of the 1st property to... (5 Replies)
Discussion started by: tkrussel
5 Replies

4. Programming

Wanted: References on Sockets and Threads for C

I'm looking at http://www.opengroup.org/pubs/online/7908799/xsh/pthread.h.html trying to understand mutexs and semaphores. Windows makes a distinction between the two. Is a mutex and semaphore different in unix land? Is there a tutorial on threading in unix somewhere? I'm also looking at... (4 Replies)
Discussion started by: siegfried
4 Replies

5. Shell Programming and Scripting

perl - passing hash references to functions

hi there I have the following script in which i have created a PrintHash() function. I want to pass to this function the reference to a hash (in the final code i will be passing different hashes to this print function hence the need for a function). I am getting an error Type of arg 1 to... (1 Reply)
Discussion started by: hcclnoodles
1 Replies

6. Shell Programming and Scripting

Perl References/Dereferences

Can someone explain where can we actually used print $var->; or print $$var When does the -> becomes necessary and when its optional. (1 Reply)
Discussion started by: dinjo_jo
1 Replies

7. Shell Programming and Scripting

Strip one of two Patch references

This log file is wacky. the syntax puts this in the Installation line: Installation PATCH75682.91 of PATCH75681 complete Installation PATCH76537.91 of PATCH76537 complete Installation PATCH92217.91 of PATCH92217 complete So I'm looking for a sed 's///' to remove the first PATCHxxxx... (6 Replies)
Discussion started by: dba_frog
6 Replies

8. Shell Programming and Scripting

Query related to references in array in Perl

Hi All I have a doubt and want to be cleared I am using @array = (10, 20); $rarray = \@array; #print "$rarray\n"; #print "@$rarray\n"; $rr= \$array; #print $$rr; $rr++; print $$rr; As you can see the $rr contains the reference to the first element of the array , now as the... (5 Replies)
Discussion started by: parthmittal2007
5 Replies

9. Shell Programming and Scripting

awk Programming references

Hi all, I am new and I am very interested in Awk programming language and would like to know what references or books that really worked for you that was clear, concise with simple examples. much appreciated in advance. (1 Reply)
Discussion started by: Apollo
1 Replies
ucblinks(1B)                                         SunOS/BSD Compatibility Package Commands                                         ucblinks(1B)

NAME
ucblinks - adds /dev entries to give SunOS 4.x compatible names to SunOS 5.x devices SYNOPSIS
/usr/ucb/ucblinks [-e rulebase] [-r rootdir] DESCRIPTION
ucblinks creates symbolic links under the /dev directory for devices whose SunOS 5.x names differ from their SunOS 4.x names. Where possi- ble, these symbolic links point to the device's SunOS 5.x name rather than to the actual /devices entry. ucblinks does not remove unneeded compatibility links; these must be removed by hand. ucblinks should be called each time the system is reconfiguration-booted, after any new SunOS 5.x links that are needed have been created, since the reconfiguration may have resulted in more compatibility names being needed. In releases prior to SunOS 5.4, ucblinks used a nawk rule-base to construct the SunOS 4.x compatible names. ucblinks no longer uses nawk for the default operation, although nawk rule-bases can still be specifed with the -e option. The nawk rule-base equivalent to the SunOS 5.4 default operation can be found in /usr/ucblib/ucblinks.awk. OPTIONS
-e rulebase Specify rulebase as the file containing nawk(1) pattern-action statements. -r rootdir Specify rootdir as the directory under which dev and devices will be found, rather than the standard root directory /. FILES
/usr/ucblib/ucblinks.awk sample rule-base for compatibility links ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWscpu | +-----------------------------+-----------------------------+ SEE ALSO
devlinks(1M), disks(1M), ports(1M), tapes(1M), attributes(5) SunOS 5.10 13 Apr 1994 ucblinks(1B)
All times are GMT -4. The time now is 06:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy