You took what was meant as a code fragment for demonstration purposes and put it to work without trying to understand it. First off, you have the variables "field3" and "field4" nowhere assigned, so chances are they don't hold what they are supposed to hold.
Second, i just found a typo in the code, which you also haven't noticed:
but as it was just to show you the mechanism you could write that completely different anyways. I didn't care if the 10 blanks i put in if the two fields were empty are really correct, maybe it's more or less. The whole purpose of the if()-statement is: "if the one field AND the other field is empty, we put blanks at the end of the output string, otherwise the content of the first field, then a slash, then the second field". THIS was, what the code tried to show you. The blanks are just there to maintain the column format of the output. Possible output should like:
So, go over your code again, remove any output which is just "passed through" (all the fields which are just read and written without any modification) and analyze the output of the stripped-down program. Find out, where the program produces the desired results and where it doesn't. Change it accordingly. Only when you have solved the tricky parts put in the other fields again, one by one. Let the program run in the different stages of development to see if it still works the way you want it to work.
By making little steps instead of giant leaps between runs you can always isolate occurring problems as they are introduced. If you write 10 lines and they do what the should, then add another 5 lines and the program doesn't do what it should any more you will *know* already that the problem is within the 5 lines last written.
There is an old roman proverb, "divide et impera" (set apart and rule). The same is true for programming. Nobody is able to analyze, write or conceive huge amounts of code at once, make them into small portions and study one after the other.
It is like solving the problem "build a house": don't try to build a house, try to build a wall first, as a house hast four walls and a roof. Don't even try to build a wall, try to reduce building the wall to solving the problem "lay one brick onto the other" - now, *this* is a manageable problem, which is easily solved, so "build a wall" is a long succession of "lay one brick onto the other"-problems. From there, develop the next step, say "how to combine 2 walls to form an edge", etc., etc., until you have a "build a house"-program, which is now a large array of little solveable problems, which are solved separately.
format of file1 "file1.txt"
1 2 3 4
A B C
XX YY ZZ AA WWW
The output must contain except the first and last column
the output must be
2 3
B
YY ZZ AA (8 Replies)
Hi,
i want to generate print statement using awk.
i have 20+ and 30+ fields in each line
Now its priting only first eight fields print statement as output not all.
my record is as shown below filename
... (2 Replies)
Hi experts,
I need to print the first field first then last two fields should come next and then i need to print rest of the fields.
Input :
a1,abc,jsd,fhf,fkk,b1,b2
a2,acb,dfg,ghj,b3,c4
a3,djf,wdjg,fkg,dff,ggk,d4,d5
Expected output:
a1,b1,b2,abc,jsd,fhf,fkk... (6 Replies)
Hi,
From a file, using:
awk -F" " '{ if (NF == 6) print $1, $2, $3, $4, $5, $6; if (NF == 5) print $1, $2, $3, $4, $5; }'
i printed out the required output. But i'm trying to merge the columns. Please look at the desired output. Any suggestions? Thanks
Output:
00015 PSA1 ... (5 Replies)
Hi
I have a file as below
<field1> <field2> <field3> ... <field_num1> <field_num2>
Trying to sort based on difference of <field_num1> and <field_num2> in desceding order and print all fields.
I tried this and it doesn't sort on the difference field .. Appreciate your help.
cat... (9 Replies)
Hello,
I'm back again looking for your precious help-
This time I need to merge two text files with matching two fields, output only common records with mixed output.
Let's look at the example:
FILE1
56153;AAA0708;3;TEST1TEST1;
89014;BBB0708;3;TEST2TEST2;
89014;BBB0708;4;TEST3TEST3;
... (7 Replies)
Hello:
I want to print out the even number of fields plus the first column as row identifiers.
input.txt
ID X1 ID X2 ID X3 ID X4
A 700 A 1200 A 400 A 1300
B 2000 B 1000 B 2000 B 600
C 1400 C 200 C 1000 C 1200
D 1300 D 500 D 600 D 200and the output is:
output.txt
ID X1 X2 X3... (3 Replies)
Discussion started by: yifangt
3 Replies
LEARN ABOUT DEBIAN
wall
WALL(1) User Commands WALL(1)NAME
wall -- write a message to users
SYNOPSIS
wall [-n] [-t TIMEOUT] [file]
DESCRIPTION
Wall displays the contents of file or, by default, its standard input, on the terminals of all currently logged in users. The command will
cut over 79 character long lines to new lines. Short lines are white space padded to have 79 characters. The command will always put carriage
return and new line at the end of each line.
Only the super-user can write on the terminals of users who have chosen to deny messages or are using a program which automatically denies
messages.
Reading from a file is refused when the invoker is not superuser and the program is suid or sgid.
OPTIONS -n, --nobanner
Supress banner
-t, --timeout TIMEOUT
Write timeout to terminals in seconds. Argument must be positive integer. Default value is 300 seconds, which is a legacy from
time when people ran terminals over modem lines.
-V, --version
Output version and exit.
-h, --help Output help and exit.
SEE ALSO mesg(1), talk(1), write(1), shutdown(8)HISTORY
A wall command appeared in Version 7 AT&T UNIX.
AVAILABILITY
The wall command is part of the util-linux package and is available from ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
util-linux April 2011 util-linux