I have many lines like the following in a file(there are also other kinds of lines)
and in these lines, fields which starts with "Host:", "Ports:" are separated by '\tab'. The number of fields in different lines may be different, which means that maybe in this line there are only fields starts with "Host:", "Ignored States:", while in another line the fields are as the above.
Now, I want to process these lines so that different fields are written into different files, like fields starting with "Hosts:" are written into file host.log, bla bla
Quote:
Originally Posted by Don Cragun
Awk can be used to do lots of things to individual lines, to every line, or to any line matching a pattern.
If you'd tell us what "processings" you need to perform, we may be able to help you come up with a MUCH more efficient way to perform them in a single invocation of awk even if you're processing multiple files.
I'm reading from a file that is semi-colon delimited. One of the fields contains 2 spaces separating the first and last name (4th field in - "JOHN<space><space> DOE"):
e.g. TORONTO;ONTARIO;1 YONGE STREET;JOHN DOE;CANADA
When I read this record and either echo/print to screen or write to... (4 Replies)
i have a commad that display the total each directory size in KB.Below the commad and o/p:
ls -ltr | grep ^d | awk '{print $9}' | xargs du -sk
output:
what i want is the proper tab space b/w value and dir.? how to get that.
thanks in advance (10 Replies)
Wants to print line when there exist leading or trailing space or tab in fields 2,3 and 5
The below code prints all lines in file even if they dont have leading and trailing space or tab.
nawk -F"|" '{for(i=1;i<=NF;i++) {if ($i ~ "^*" || $i ~ "*$")}}1' file
file
Ouput required:
... (5 Replies)
Hi,
So my file looks like this:
title number
JR 2
JR 2
JR 4
JR 5
NM 5
NM 8
NM 2
NM 8
I used this line that I wrote to convert it to rows so it will look like this:
awk -F"\t" '!/^$/{a=a" "$3} END {for ( i in a) {print i,a}}' occ_output.tab > test.txt
JR 2 2 4 5
NM 5 8... (4 Replies)
Hello,
Is there a direct command to check if the delimiter in your file is a tab or a space? And how can they be converted from one to another.
Thanks,
G (4 Replies)
Hi,
I have a space delimited text file but I only want to change the first space to a tab and keep the rest of the spaces intact. How do I go about doing that? Thanks! (3 Replies)
I have a variable sumOfJEOutputFile which is the output file of an SQL command which contains the output of that SQL. The output looks like below:
-----------
58
I am using following code to manipulate the output:
(sed 1,2d $sumOfJEOutputFile > $newTemp1 | sed '$d' $newTemp1)... (4 Replies)
My file looks like
3 33 210.01.10.0 2.1 1211 560 26 45 1298 98763451112 15412323499 INPUT OK
3 233 40.01.10.0 2.1 1451 780 54 99 1876 78787878784 15423210199 CANCEL OK
Aim is to replace the spaces in each line by tab
Used: sed -e 's/ */\t/g'
But I get output like this... (3 Replies)
Discussion started by: sa@@
3 Replies
LEARN ABOUT FREEBSD
filechan
FILECHAN(8) System Manager's Manual FILECHAN(8)NAME
filechan - file-writing backend for InterNetNews
SYNOPSIS
filechan [ -d directory ] [ -f fields ] [ -m mapfile ] [ -p pidfile ]
DESCRIPTION
Filechan reads lines from standard input and copies certain fields in each line into files named by other fields within the line. Filechan
is intended to be called by innd(8) as a channel feed. (It is not a full exploder and does not accept commands; see newsfeeds(5) for a
description of the difference and buffchan(8) for an exploder program.)
Filechan input is interpreted as a set of lines. Each line contains a fixed number of initial fields, followed by a variable number of
filename fields. All fields in a line are separated by whitespace. The default number of initial fields is one.
For each line of input, filechan writes the initial fields, separated by whitespace and followed by a newline, to each of the files named
in the filename fields. When writing to a file, filechan opens it in append mode and tries to lock it and change the ownership to the user
and group who owns the directory where the file is being written.
OPTIONS -f The ``-f'' flag may be used to specify a different number of fields.
-d By default, filechan writes its arguments into the directory /var/spool/news/out.going. The ``-d'' flag may be used to specify a
directory the program should change to before starting.
-p If the ``-p'' flag is used, the program will write a line containing its process ID (in text) to the specified file.
If filechan is invoked with ``-f 2'' and given the following input:
news/software/b/132 <1643@munnari.oz.au> foo uunet
news/software/b/133 <102060@litchi.foo.com> uunet munnari
comp/sources/unix/2002 <999@news.foo.com> foo uunet munnari
Then the file foo will have these lines:
news/software/b/132 <1643@munnari.oz.au>
comp/sources/unix/2002 <999@news.foo.com>
the file munnari will have these lines:
news/software/b/133 <102060@litchi.foo.com>
comp/sources/unix/2002 <999@news.foo.com>
and the file uunet will have these lines:
news/software/b/132 <1643@munnari.oz.au>
news/software/b/133 <102060@litchi.foo.com>
comp/sources/unix/2002 <999@news.foo.com>
Because the time window in which a file is open is very small, complicated flushing and locking protocols are not needed; a mv(1) followed
by a sleep(1) for a couple of seconds is sufficient.
-m A map file may be specified by using the ``-m'' flag. Blank lines and lines starting with a number sign (``#'') are ignored. All
other lines should have two host names separated by a colon. The first field is the name that may appear in the input stream; the
second field names the file to be used when the name in the first field appears. For example, the following map file may be used to
map the short names above to the full domain names:
# This is a comment
uunet:news.uu.net
foo:foo.com
munnari:munnari.oz.au
HISTORY
Written by Robert Elz <kre@munnari.oz.au>, flags added by Rich $alz <rsalz@uunet.uu.net>. This is revision 1.19, dated 1996/10/29.
SEE ALSO buffchan(8), innd(8), newsfeeds(5).
FILECHAN(8)