04-19-2005
Awk Help
Hi,
I have a file as follows:
4047241;20050201;999;12345
5642154;20050202;123;56456
What I need to do is to take each of the fields (delimited by ";") and return the following
4047241<tab> 20050201<tab> 999<tab> 12345
5642154<tab> 20050202<tab> 123<tab> 56456
i.e. each of the fields needs to be examined and if it is under 10 charachters in length I then need it to replace the field with the original charachters plus enough spaces to make it ten characters and replace the ";" with tabs. This output should be sent to a new file
any help appreciated
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Actually I got a list of file end with *.txt
I want to use the same command apply to all the *.txt
Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics.
For example:
I got the file below:
file1.txt
file2.txt
file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies
2. Shell Programming and Scripting
Hi Experts,
I am adding a column of numbers with awk , however not getting correct output:
# awk '{sum+=$1} END {print sum}' datafile
2.15291e+06
How can I getthe output like : 2152910
Thank you..
# awk '{sum+=$1} END {print sum}' datafile
2.15079e+06 (3 Replies)
Discussion started by: rveri
3 Replies
3. Shell Programming and Scripting
I want to filter 2nd column = 2 using awk
$ cat t
1 2
2 4
$ VAR=2
#variable worked in print
$ cat t | awk -v ID=$VAR ' { print ID}'
2
2
# but variable didn't work in awk filter
$ cat t | awk -v ID=$VAR '$2~/ID/ { print $0}' (2 Replies)
Discussion started by: honglus
2 Replies
4. Shell Programming and Scripting
Hi
I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it
The code is that:
{
if (NF==17){
print $0
}else{
fields=NF;
all=$0;
while... (2 Replies)
Discussion started by: fate
2 Replies
5. Shell Programming and Scripting
I have two files which I would like to compare and then manipulate in a way.
File1:
pictures.txt 1.1 1.3
dance.txt 1.2 1.4
treehouse.txt 1.3 1.5
File2:
pictures.txt 1.5 ref2313 1.4 ref2345 1.3 ref5432 1.2 ref4244
dance.txt 1.6 ref2342 1.5 ref2352 1.4 ref0695 1.3 ref5738 1.2... (1 Reply)
Discussion started by: linuxkid
1 Replies
6. Shell Programming and Scripting
Hi,
I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files.
To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Discussion started by: anandek
10 Replies
7. Shell Programming and Scripting
Hello experts,
I'm stuck with this script for three days now. Here's what i need.
I need to split a large delimited (,) file into 2 files based on the value present in the last field.
Samp: Something.csv
bca,adc,asdf,123,12C
bca,adc,asdf,123,13C
def,adc,asdf,123,12A
I need this split... (6 Replies)
Discussion started by: shell_boy23
6 Replies
8. Shell Programming and Scripting
consider the script below
sh /opt/hqe/hqapi1-client-5.0.0/bin/hqapi.sh alert list --host=localhost --port=7443 --user=hqadmin --password=hqadmin --secure=true >/tmp/alerts.xml
awk -F'' '{for(i=1;i<=NF;i++){
if($i=="Alert id") {
if(id!="")
if(dt!=""){
cmd="sh someScript.sh... (2 Replies)
Discussion started by: vivek d r
2 Replies
9. Shell Programming and Scripting
Hi,
I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date).
All my attempts failed this far.
Here's an example.
It works fine with timestamp hard-codded into the command
echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
Discussion started by: tuxer
4 Replies
10. Shell Programming and Scripting
Good evening, Im newbie at unix specially with awk
From an scheduler program called Autosys i want to extract some data reading an inputfile that comprises jobs names, then formating the output to columns for example
1.
This is the inputfile:
$ more MapaRep.txt
ds_extra_nikira_usuarios... (18 Replies)
Discussion started by: alexcol
18 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)