Please notice the date output. the Oct 3, has 2 spaces after Oct.
i want to have an awk or sed that will get the exact space, data. Because if you are GREPING a syslog file. Date and spaces are very important, else you cant get the right data
But the problem is, when october reach double digit,like october 10-31, below command are not working anymore
because EXAMPLE TODAY is October 10
But what awk and sed. will get what ever kind of date.
The logical way to get the abbreviated month and day is to use date by itself:
If you insist on using awk:
If you insist on using sed:
And, if you like cut:
Last edited by Don Cragun; 10-03-2014 at 10:51 AM..
Reason: Quotes not needed on cut
This User Gave Thanks to Don Cragun For This Post:
Please notice the date output. the Oct 3, has 2 spaces after Oct.
. . .
Please note that there's no "unstable spaces". The format is very predictable as the 2 spaces after Oct are
- the separator
- the space padded day-of-month output of date.
To avoid the space padding use another format string, e.g.
as opposed to the default
unfortunately..i cant change the date...so i will adjust my command..
the system works likes this..
But this works for me.. thanks guys
---------- Post updated at 02:21 PM ---------- Previous update was at 02:21 PM ----------
Quote:
Originally Posted by Franklin52
With printf you can use the width trick, something like:
awesome sir...
---------- Post updated at 02:23 PM ---------- Previous update was at 02:21 PM ----------
Quote:
Originally Posted by Don Cragun
The logical way to get the abbreviated month and day is to use date by itself:
If you insist on using awk:
If you insist on using sed:
And, if you like cut:
this works as well..thanks sir...
---------- Post updated at 02:32 PM ---------- Previous update was at 02:23 PM ----------
Don/Franklin
can you explain this? character by character?? Please???
'{printf("%s%3d\n", $2, $3)}': script to be interpreted by awk.
'{ commands }': run the specified commands for each line read from standard input.
printf(format, arg1, arg2): print the specified arguments to standard output according to the formatting specifiers given in format.
"%s": format the next argument ($2 in this case) as a string.
"%3d": format the next argument ($3 in this case) as a 3 character string of decimal digits with leading space fill.
"\n": print a literal <newline> character.
,: separate arguments in the parameter list of the function.
$2: the 2nd field in the current input line. (By default, awk splits fields by sequences of one or more space and/or tab characters.)
$3: the 3rd field in the current input line.
awk: utility to run.
'{printf("%s %*s\n", $2, $3)}': script to be interpreted by awk.
'{ commands }': run the specified commands for each line read from standard input.
printf(format, arg1, arg2): print the specified arguments to standard output according to the formatting specifiers given in format.
"%s": format the next argument ($2 in this case) as a string.
" ": print a literal space character.
"%*s": format a string with width specified by the next argument (2 in this case) as right justified with leading space fill from the next argument ($3 in this case).
"\n": print a literal <newline> character.
,: separate arguments in the parameter list of the function.
$2: the 2nd field in the current input line.
2: the integer two.
$3: the 3rd field in the current input line.
sed: the utility to run.
's/....\(......\).*/\1/': the sed command to be executed.
s/BRE/replacement/: for each line read from standard input, substitute the string specified by repacement for the string in the input line that matches the basic regular expression specified by BRE.
....: match any four contiguous characters.
\(......\): match any six contiguous characters and remember them for use as a back reference.
.* match the longest string of zero or more available characters. These three parts of the BRE when concatenated together match the entire input line and remember the 5th through the 10th characters on the line as a back reference.
\1: replace the entire string matched by the BRE with the 1st substring remembered as a back reference.
and print the modified input line.
This User Gave Thanks to Don Cragun For This Post:
I have a data file where three data sets are written in three columns. Can I increase the space between the columns without reading them?
Also can I insert particular patterns, say comma between 1st and 2nd column and colon between 2nd and 3rd column? (13 Replies)
Hi All,
I was wondering how I can convert each line in an input file where fields are separated by variable width spaces into a CSV file. Below is the scenario what I am looking for.
My Input data in inputfile.txt
19 15657 15685 Sr2dReader 107.88 105.51... (4 Replies)
I need to write a Bash script to process a data file that is in this format:
1 A B C D E
2 F G "H H" I J
As you can see, the data is delimited by a space, but there are also some fields that contain spaces and are surrounded by double-quotes. An example of that is "H H".
I wrote... (7 Replies)
Hi
I need help on this. Its very urgent for me.. please try to help me out..
I have data in tables in DB2 database. I would like to export the data from DB2 tables into a text file, which has to be space delimited. so that I can carry out awk, grep operations on that file. I tried to export... (2 Replies)
Good afternoon! Im new at scripting and Im trying to write a script to
calculate total space, total used space and total free space in filesystem names matching a keyword (in this one we will use keyword virginia). Please dont be mean or harsh, like I said Im new and trying my best. Scripting... (4 Replies)
Hi Guyz,
Can anyone help me in the following:-
I want to delete all that is there in my file that occures before the first space comes.
Eg. My file InputFile conatins the following:
123 12345678 87654 Hello
09867 09876654 34567 Happy
I want the data occuring before the occurence... (3 Replies)
Hi ...
I am having a string in the buffer .. It is binary data it may contain space . When i try to append a space in using strcpy it is taking the inbetween \n as the end and appending space ..
How to append space in the binary data in C ?? please let me know
Thanks in advance,
Arun. (2 Replies)