Sponsored Content
Full Discussion: Swapping lines
Top Forums Shell Programming and Scripting Swapping lines Post 303027816 by MadeInGermany on Tuesday 25th of December 2018 09:36:35 AM
Old 12-25-2018
Another attempt with awk.
Untested but well documented.
Code:
awk '
# prepend the current line to buf (ORS is a newline)
{buf=($0 ORS buf)}
# new paragraph? Then store the current line (replacing old content)
p==0 {buf=$0; p=1}
# empty line? Then print buf; new paragraph
NF==0 {print buf; p=0}
# at the END print buf if not yet printed
END {if (p==1) print buf}
' file

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Swapping questions

How can you tell how much a Solaris box is swapping? At what point do page in and page out become a problem? Here is a vmstat output. > vmstat procs memory page disk faults cpu r b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id... (1 Reply)
Discussion started by: 98_1LE
1 Replies

2. SuSE

Swapping

Hello! Why does my SuSE GNU/Linux machine swap? I have a Gig of ram, currently 14MBs of free RAM, 724MB - buffers and caches... That is 685MB of cached RAM, then kernel really should'nt have to swap, It should release cached memory in my thinkin... It has only swaped 3MB's but still,... (3 Replies)
Discussion started by: Esaia
3 Replies

3. Shell Programming and Scripting

Swapping or switching 2 lines using sed

I made a script that can swap info on two lines using a combination of awk and sed, but was hoping to consolidate the script to make it run faster. If found this script, but can't seem to get it to work in a bash shell. I keep getting the error "Too many {'s". Any help here would be appreciated:... (38 Replies)
Discussion started by: LaTortuga
38 Replies

4. Shell Programming and Scripting

Swapping lines beginning with certain words using sed/awk

I have a large file which reads like this: fixed-address 192.168.6.6 { hardware ethernet 00:22:64:5b:db:b1; host X; } fixed-address 192.168.6.7 { hardware ethernet 00:22:64:5b:db:b3; host Y; } fixed-address 192.168.6.8 { hardware ethernet 00:22:64:5b:db:b4; host A; }... (4 Replies)
Discussion started by: ksk
4 Replies

5. Shell Programming and Scripting

swapping lines that match a condition using sed, perl or the like

I'm a bit new to regex and sed/perl stuff, so I would like to ask for some advice. I have tried several variations of scripts I've found on the net, but can't seem to get them to work out just right. I have a file with the following information... # Host 1 host 45583 { filename... (4 Replies)
Discussion started by: TheBigAmbulance
4 Replies

6. Shell Programming and Scripting

Swapping three lines

I have some text: <date>some_date</date> <text>some_text</text> <name>some_name<name> and I want to transform it to smthng like that: some_name on some_date: some_text I've tried sed: sed 's/<text>\(.*\)<\/text> <name>\(.*\)<\/name>/\2 - \1/' but it says unterminated... (13 Replies)
Discussion started by: dsjkvf
13 Replies

7. Shell Programming and Scripting

AWK swapping fields on different lines

Hi All, Sorry if this question has been posted elsewhere, but I'm hoping someone can help me! Bit of an AWK newbie here, but I'm learning (slowly!) I'm trying to cobble a script together that will save me time (is there any other kind?), to swap two fields (one containing whitespace), with... (5 Replies)
Discussion started by: Bravestarr
5 Replies

8. Shell Programming and Scripting

Swapping fields

Hallo Team, This is the command that i am running : grep ",Call Forward Not Reachable" *2013* this is the output that i am getting (i did a head -10 but the files can be more than 1000) ... (8 Replies)
Discussion started by: kekanap
8 Replies

9. Shell Programming and Scripting

Swapping the 1st 4 lines only

How can you swap the first 4 line only, the rest will stay the same. thanks #!/bin/sh line=4 awk -v var="$line" 'NR==var { s=$0 getline;s=$0"\n"s getline;print;print s next }1' fileko.tx . desired output: (8 Replies)
Discussion started by: invinzin21
8 Replies

10. Solaris

Swapping

Hi Guys I am using SPARC-T4 (chipid 0, clock 2998 MHz), SunOS 5.10 Generic_150400-38 sun4v. How do I see if the server was doing some swapping like yesterday? I had a java application error with java.lang.OutOfMemoryError, now I want to check if the server was not doing some swapping at... (4 Replies)
Discussion started by: Phuti
4 Replies
CTERMID(3)						   BSD Library Functions Manual 						CTERMID(3)

NAME
ctermid, ctermid_r -- generate terminal pathname LIBRARY
Standard C Library (libc, -lc) SYNOPSIS
#include <stdio.h> char * ctermid(char *buf); char * ctermid_r(char *buf); DESCRIPTION
The ctermid() function generates a string, that, when used as a pathname, refers to the current controlling terminal of the calling process. If buf is the NULL pointer, a pointer to a static area is returned. Otherwise, the pathname is copied into the memory referenced by buf. The argument buf is assumed to be at least L_ctermid (as defined in the include file <stdio.h>) bytes long. The ctermid_r() function provides the same functionality as ctermid() except that if buf is a NULL pointer, NULL is returned. The current implementation simply returns '/dev/tty'. RETURN VALUES
The ctermid() function returns buf if it is non-NULL, otherwise it returns the address of a static buffer. The ctermid_r() function always returns buf, even if it is the NULL pointer. ERRORS
The current implementation detects no error conditions. SEE ALSO
ttyname(3) STANDARDS
The ctermid() function conforms to IEEE Std 1003.1-1988 (``POSIX.1''). BUGS
By default the ctermid() function writes all information to an internal static object. Subsequent calls to ctermid() will modify the same object. BSD
October 1, 2011 BSD
All times are GMT -4. The time now is 03:28 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy