Sponsored Content
Top Forums Shell Programming and Scripting reversing order of lines in a file Post 302109064 by cfajohnson on Friday 2nd of March 2007 02:07:55 PM
Old 03-02-2007
Quote:
Originally Posted by ennstate
Though complex , You can have script presented below does the job!!

#!/bin/ksh
Tot=$(sed -n $= FILE )
i=0;
while [[ $i -le $Tot ]] ; do
tail -n"$i" FILE | head -1
((i=i+1))
done

You can extend the script for multiple files. Experts please comment on the approach
This is horrendously slow, as it calls two external commands for every line in the file. Here are timings for a 181-line file (xx.sh is your script):

Code:
 $ time tac .bashrc > /dev/null

real    0m0.021s
user    0m0.002s
sys     0m0.005s
$ time awk '{x[NR]=$0}END{while (NR) print x[NR--]}' .bashrc > /dev/null

real    0m0.010s
user    0m0.003s
sys     0m0.006s
$ time xx.sh .bashrc > /dev/null

real    0m2.060s
user    0m0.483s
sys     0m1.420s

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

output string in reversing order

If I have string { I_love_shell_scripts} anyone knows how to have output {stpircs_llehs_evol_I} by using shell and perl ?I know in perl, there is reverse() funcation, but can it be done by not using reverse()? (3 Replies)
Discussion started by: ccp
3 Replies

2. Shell Programming and Scripting

Reversing file order using SED

Im trying to develop a shell script that will change the content order of the file. For example I have a file that says a b c d I want to change this to be d c b a Im trying to use sed to this by reading the file and then inserting each line at the top #!/usr/bin/ksh ... (3 Replies)
Discussion started by: MBGPS
3 Replies

3. Shell Programming and Scripting

reversing multiple lines

Hi I want to reverse multiple lines from my file eg of File1 3 4 5 6 7 8 9 a b c d e f g h I am using this code to reverse lines but it can only work with one row awk -F'\t' '{while (NF){printf("%s%s", $(NF--),!NF?"":FS)}}' File1 > File2 I want the file to look like this 9 8 7 6 5 4... (2 Replies)
Discussion started by: phil_heath
2 Replies

4. Shell Programming and Scripting

Order file by lines

My script(3 arguments $1 = folder,$2 extension,$3 string) should do the following things: -Enter in the folder of $1(if exists). -Put ls *.$2 > temp.txt ( I use a temp file to store the result of ls command and if $2 = txt in this file I'll have all the .txt files of the folder) -Now I want to... (2 Replies)
Discussion started by: Max89
2 Replies

5. UNIX for Dummies Questions & Answers

Reversing line and word order using awk

Hello, I am new to awk and I was wandering if I could reverse line and word order from a text file using awk. I figured out how to do them both separately, but can't quite figure out how to mix them. Example: Input file: dog cat mouse 1 2 3 I am new to awk Output of the awk program:... (3 Replies)
Discussion started by: blink_w
3 Replies

6. Shell Programming and Scripting

Print selected lines from file in order

I need to extract selected lines from a log file, I can use grep to pull one line matching 'x' or matching 'y', how can I run through the log printing both matching lines in order top to bottom. i.e line 1 xyz - not needed line 2 User01 - needed line 3 123 - not needed line 4 Info - needed... (2 Replies)
Discussion started by: rosslm
2 Replies

7. Shell Programming and Scripting

Reversing text order of each line of a file in UNIX

My input is: hello how are you my chemistry book is lost what is up etc... And I want the output to be: you are how hello lost is book chemistry my up is what .... I found an earlier response to a similar question but it was not accurate as it required a certain string length for each line (2 Replies)
Discussion started by: Heidi Heweidy
2 Replies

8. Shell Programming and Scripting

File w/ many line pairs--how do I order based on 1st lines only?

I have a file in which the data is stored in pairs of lines. The first line (beginining with ">") is a header, the second line is a sequence. I would like to sort the file by species name. Desired output for the example file: I can use sort -t'_' -k2 to alphabetize headers in the... (1 Reply)
Discussion started by: pathunkathunk
1 Replies

9. Shell Programming and Scripting

Consolidate several lines of a CSV file with firewall rules, in order to parse them easier?

Consolidate several lines of a CSV file with firewall rules Hi guys. I have a CSV file, which I created using an HTML export from a Check Point firewall policy. Each rule is represented as several lines, in some cases. That occurs when a rule has several address sources, destinations or... (4 Replies)
Discussion started by: starriol
4 Replies

10. Shell Programming and Scripting

Help with order lines from a file based on a pattern

Hi I need to order these lines from a txt file my file looks like this IMSI ........................ 1234567890 APN ......................... INTERNET.COM APN ......................... MMS.COM APN ......................... WAP.COM APN ......................... BA.COM IMSI... (4 Replies)
Discussion started by: alone77
4 Replies
volinstall(8)						      System Manager's Manual						     volinstall(8)

NAME
volinstall - Sets up Logical Storage Manager (LSM) environment after LSM installation SYNOPSIS
/usr/sbin/volinstall DESCRIPTION
The volinstall script sets up LSM special device files, and add the following lines to the /etc/inittab file: lsmr:s:sysinit:/sbin/lsmbstartup -b </dev/console >/dev/console 2>&1 lsm:23:wait:/sbin/lsmbstartup -n </dev/console >/dev/console 2>&1 vol:23:wait:/sbin/volreconfig -n </dev/console >/dev/console 2>&1 The first line calls the /sbin/lsmbstartup script, which enables LSM to start automatically on system reboot. The second line calls the /sbin/volreconfig script, which handles any pending encapsulation requests. If /sbin/lsmbstartup is not added to the /etc/inittab file, LSM must be started manually after system reboot. Note The volinstall script is automatically invoked by the volsetup, clu_create, and clu_add_member commands. Therefore, running the volinstall script to set up LSM is usually not necessary. SEE ALSO
inittab(4), lsmbstartup(8), volencap(8), volintro(8), volsetup(8), volinstall(8)
All times are GMT -4. The time now is 07:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy