This is strange,
what error/wrong behavior you got?
Basically, the output would just remain the same with no lines being swapped...I looked around and that "-v" command for awk, is only in certain versions of awk, so I might not be able to use it in the version I'm using.
Hi, I'm a newbie in unix script. Currently i'm using script for my daily job. Can anyone here explain in detail above script? I mean the syntax and command line by line. I do understand the script swap the 3rd line with line 10. If i want to swap line no 2 with line no 3, i just need to change variable line=2 and line1=3 right?
Hi, I'm a newbie in unix script. Currently i'm using script for my daily job. Can anyone here explain in detail above script? I mean the syntax and command line by line. I do understand the script swap the 3rd line with line 10. If i want to swap line no 2 with line no 3, i just need to change variable line=2 and line1=3 right?
TQ.
It should work, to learn this stuff is to read about it and find it out yourself, so try it out.
The idea of the script, to replace the 3th line with the 9th, is:
1. print all lines untill line 3-1 (2nd line)
2. place the 4th line untill line 9-1 (8th line) before the 3th line in the variable s separated by a newline
3. print the 9th line
4. print the variable s
5. print other lines after the 9th line
Explanation of the code:
Place the shellvariables in awk variables.
If the linenumber is equal to 3 execute the commands between the curly brackets {}
Place the current line in the variable s
Loop through the lines 4 till 8 and place the lines before the 3th line separated by a newline.
Read the next line (9th line), print the line, print the variable s and read the next line
awk evaluates the 1 as true and the prints the entire line by default, an equivalent of {print}.
Wow. Thanks for your prompt reply. Appreciate it. But i just wondering why the output between line 4-8 is in desending order. I try to play around with the loop so that it is in asc order but didn't get the idea. Sorry if this question is annoying you.
Let' say the input file is:
Expected result:
My result:
Rgrds.
Hi there,
I have a text that I'm trying to format into something more readable. However, I'm stuck in the last step. I've searched and tried things over the internet with no avail.
OS: Mac
After parsing the original text that I won't put here, I managed to get something like this, but this... (8 Replies)
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)
Data file example
I look for primary and * to isolate the interesting slot number.
slot=`sed '/^primary$/,/\*/!d' filename | tail -1 | sed s'/*//' | awk '{print $1" "$2}'`
Now I want to get the Touch line for only the associate slot number, in this case, because the asterisk... (2 Replies)
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)
Hi
I'm quite new with linux.
Very simple, I need to swap every 2 lines in a file.
Example
INPUT:
a a a
b b b
x x x
y y y
s s s
t t t
OUTPUT:
b b b
a a a
y y y
x x x
t t t (5 Replies)
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)
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
The assignment is to convert a text table to csv format. I've got the cleaning up done, but I need to swap two... (0 Replies)
Hello, I have only recently begun with awk and need to write this:
I have an input consisting of a couple of letters, a space and a number followed by various other characters:
fiRcQ 9( )
klsRo 9( ) pause
fiRcQ 9( ) pause
klsRo continue 1
aPLnJ 62( )
fiRcQ continue 5
... and so on
I... (7 Replies)
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)