Im sure this is an easy question, but Ive tried and tried to get this to print all on one line and cant figure out why its not, so maybe someone can help
What this prints is "AP" then "User-Agent" on one line(good) but then prints "HOST" on a separate line? How can I get all three to print on a single line?
Each call to print produces a <newline> character in the output. You could try something like:
Note that I changed the format string for your printf call. If $4 happens to contain any % or \ characters, you could end up with output significantly different from what you might expect; using the format %s avoids that possibility.
Each call to print produces a <newline> character in the output. You could try something like:
Note that I changed the format string for your printf call. If $4 happens to contain any % or \ characters, you could end up with output significantly different from what you might expect; using the format %s avoids that possibility.
Thanks! So I tried the last one and man the output format is kind of jacked up
Sometimes it appends other lines and sometimes it throws the the first AP in at the end or middle?
This is what it looks like if I go back to my original awk commands.
I will play with this and see what I can figure out...it seems like its combining or adding the User-Agent field. strange output. Thanks again for your help!
---------- Post updated at 03:50 PM ---------- Previous update was at 01:25 AM ----------
Is there anyway to force this to always print the "/AP/" field first?
Right now it does maybe 50% sometimes it ends up after the User-Agent. There must be something causing this but I cannot figure it out?
Thanks! So I tried the last one and man the output format is kind of jacked up
Sometimes it appends other lines and sometimes it throws the the first AP in at the end or middle?
This is what it looks like if I go back to my original awk commands.
I will play with this and see what I can figure out...it seems like its combining or adding the User-Agent field. strange output. Thanks again for your help!
---------- Post updated at 03:50 PM ---------- Previous update was at 01:25 AM ----------
Is there anyway to force this to always print the "/AP/" field first?
Right now it does maybe 50% sometimes it ends up after the User-Agent. There must be something causing this but I cannot figure it out?
Thanks!!
What do you mean you cannot figure it out? It is obvious! With the code suggested for handling your problem, it is simple: when the string AP appears first in your input file, it will appear first in your output file.
Is there something in your input file that can be used to indicate that it is the first line of a set or the last line of a set?
Will it always be true that there is exactly one line containing the string AP, one line containing the string User-Agent, and one line containing the string Host in a group of lines to be treated as a set?
You know what your input looks like, you have left the rest of us guessing.
Found that User-Agent and Host are switching spots when using different browsers!?!!?!?!?!?!! See below and let me know if there is a solution to these variations.
When IE does the request:
Chrome and Safari/Iphone/Android
Is there any way to be strict about always printing HOST first even if its after User-Agent? or vice-versa
Last edited by sectech; 03-03-2013 at 06:39 PM..
Reason: updated with more info.
1. increase file space
first, double space a file:
awk '1;{print ""}'
I probably can understand it:print a blank line every time.But when I read triple space a file I am confused:
awk '1;{print "\n"}'
doesn't it meaning print a blank line every time too?
2. number each line of file, but... (6 Replies)
input:
Name|Operation
rec_10|1+2+2-
Output:
rec_10|1
Basically I am trying to calculate the result of "the path" in $3 where the operators follow the number and not preceding them like we normally do:
rec_10: +1+2-2=1
But I realise (I am sure there is a good reason for that) that awk... (7 Replies)
Hi,
I was trying to change the value of the 4th column (put '1' in the 4th column of each row). My awk command is:
awk -F, '{$3=1;}1' OFS= input.txt > ./test_out.txt
My input file is:
a 1 2 31
b 4 5 61
c 7 8 91
My output file (test_out.txt)is:
a 1 2 31
b 4 5 61
c 7 8 91
What... (4 Replies)
Hi,
Sorry if this is a newbie question. I guess you can use either awk or shell script for this sequence of operations, but knowing very little about either of them I'm not sure how I should try to write this.
The basic objective is to copy certain files that are scattered all over my... (10 Replies)
Here's a basic awk program I am trying to run. It shows no error but shows no result either too. If someone can look up and tell me what's wrong I will be obliged.
Thanks. :)
Code Snippet.
#!/bin/bash
awk '{
for (i = 1 ; i <= 3 ; i++)
for ( j = 1 ; j <= 3 ; j++ ) {
... (2 Replies)
I find an script with awk sitting around. I went through some online manuals, but I can't figure out exactly how it works. I can't post the whole program. Not allowed.
This is the line that is confusing me. I get when else is in the script
grep -v "^REM " $1| grep -v "JUNK;" | awk -F" "... (2 Replies)
I have a script problem that I am not able to solve due my very limited understanding of unix/awk.
This is the contents of test.sh
awk '{print $1}'
From the prompt if I enter:
./test.sh Hello World
I would expect to see "Hello" but all I get is a blank line. Only then if I enter "Hello... (2 Replies)
Hi all,
I have an awk basic question.
file.text
Our Location:
Our home has light yellow siding,
and is a duplex on Main Street,
across from the High School,
and across the lane from the Health Center
If I run:
cat file.txt | awk '{print $2}' | grep... (7 Replies)