script to tail file; problem with awk and special characters
Trying to use code that I found to send only new lines out of a log file by doing:
Script works fine when logfile is basic text, but when it contains characters that have brackets and slashes, the awk command has issues:
Here is sample data in log:
I have tried different ways of putting quotes around the last variable, but does not work or breaks script in different way. Any awk experts have suggestions?
i have this script that searches for a pattern.
However it fails if the pattern includes some
special characters. So far, it fails with the
following strings:
1. -Cr
2. $Mj
3. H'412
would a sed or awk be more effective?
i don't want the users to put the (\)
during the search (they... (5 Replies)
Hi all,
How do I extract a value without special characters? I need to extract the value of %Used from below and if its greater than 80, need to send a notification.
I am doing this right now..Its giving 17%..Is there a way to extract the value and assign it to a variable in one step?
df |grep... (3 Replies)
Hi all,
We are facing the following problem in our HP-UX machine: software that manipulates utf-8 encoded strings (e.g. during string cut), fails to correctly manipulate strings (all containing Greek characters) that contain special characters like @, &, # etc. Actually, in different... (3 Replies)
Hi All,
I have a CSV file in which some fields contains special character for ex:-
my file is file 1
cat file1
abcd,bgfht,ngbht,abvc ****
hdlld,hsgdt,bhfy,knht ****
whenever i am trying to put a 4th feild in a variable its giving me list of all the files i have in current... (6 Replies)
I'm using awk '{print $1}' and it works most of the time to print the contents of a mysql query loop, but occationally I get a field with some special character in it, is there a way to tell awk to ignore all special characters between my FS? I have >186K records, so building a list of ALL special... (6 Replies)
Hi Experts.
I'm stuck with the below AWK code where i'm trying to move the records containing any special characters in the last field to a bad file.
awk -F, '{if ($NF ~ /^|^/) print >"goodfile";else print >"badfile"}' filename
sample data
1,abc,def,1234,A *
2,bed,dec,342,* A ... (6 Replies)
grep -i "$line,$opline" COMBO_JUNK|awk -F, '
{
C4+=$4
}
{
}
END {
print C4
}
' OFS=,`
when i run this command in the script.... it o/p all the value as 0 if $line contains any special parameters.....
but the same script if i run in command prompt... it shows... (4 Replies)
This is really frustrating because I can't figure it out.
I'm running a health check script. One of the items I'm checking is the amount of memory on a server. I use the free command, which outputs something like this (excerpt)
Mem: 100 100 100 100
Swap: 100 100 100 100
In my debugging... (5 Replies)
Hello Folks,
Need to bisect strings based on a subset.
Below works good.
echo /a/b/c/d | awk -F"/c/d$" '{print $1}'
/a/b
However, it goes awry with special characters.
echo /a/b/c+/d | awk -F"/c+/d$" '{print $1}'
/a/b/c+/d
Desired output:
/a/b
Escaping the special characters... (11 Replies)
Discussion started by: vibhor_agarwali
11 Replies
LEARN ABOUT FREEBSD
tail
TAIL(1) BSD General Commands Manual TAIL(1)NAME
tail -- display the last part of a file
SYNOPSIS
tail [-F | -f | -r] [-q] [-b number | -c number | -n number] [file ...]
DESCRIPTION
The tail utility displays the contents of file or, by default, its standard input, to the standard output.
The display begins at a byte, line or 512-byte block location in the input. Numbers having a leading plus ('+') sign are relative to the
beginning of the input, for example, ``-c +2'' starts the display at the second byte of the input. Numbers having a leading minus ('-') sign
or no explicit sign are relative to the end of the input, for example, ``-n 2'' displays the last two lines of the input. The default start-
ing location is ``-n 10'', or the last 10 lines of the input.
The options are as follows:
-b number
The location is number 512-byte blocks.
-c number
The location is number bytes.
-f The -f option causes tail to not stop when end of file is reached, but rather to wait for additional data to be appended to the
input. The -f option is ignored if the standard input is a pipe, but not if it is a FIFO.
-F The -F option implies the -f option, but tail will also check to see if the file being followed has been renamed or rotated. The
file is closed and reopened when tail detects that the filename being read from has a new inode number.
If the file being followed does not (yet) exist or if it is removed, tail will keep looking and will display the file from the begin-
ning if and when it is created.
The -F option is the same as the -f option if reading from standard input rather than a file.
-n number
The location is number lines.
-q Suppresses printing of headers when multiple files are being examined.
-r The -r option causes the input to be displayed in reverse order, by line. Additionally, this option changes the meaning of the -b,
-c and -n options. When the -r option is specified, these options specify the number of bytes, lines or 512-byte blocks to display,
instead of the bytes, lines or blocks from the beginning or end of the input from which to begin the display. The default for the -r
option is to display all of the input.
If more than a single file is specified, each file is preceded by a header consisting of the string ``==> XXX <=='' where XXX is the name of
the file unless -q flag is specified.
EXIT STATUS
The tail utility exits 0 on success, and >0 if an error occurs.
EXAMPLES
To display the last 500 lines of the file foo:
$ tail -n 500 foo
Keep /var/log/messages open, displaying to the standard output anything appended to the file:
$ tail -f /var/log/messages
SEE ALSO cat(1), head(1), sed(1)STANDARDS
The tail utility is expected to be a superset of the IEEE Std 1003.2-1992 (``POSIX.2'') specification. In particular, the -F, -b and -r
options are extensions to that standard.
The historic command line syntax of tail is supported by this implementation. The only difference between this implementation and historic
versions of tail, once the command line syntax translation has been done, is that the -b, -c and -n options modify the -r option, i.e., ``-r
-c 4'' displays the last 4 characters of the last line of the input, while the historic tail (using the historic syntax ``-4cr'') would
ignore the -c option and display the last 4 lines of the input.
HISTORY
A tail command appeared in PWB UNIX.
BSD March 16, 2013 BSD