Sponsored Content
Full Discussion: awk bash help
Top Forums Shell Programming and Scripting awk bash help Post 302314589 by cfajohnson on Friday 8th of May 2009 07:26:40 PM
Old 05-08-2009
Quote:
Originally Posted by a-gopal
Hi,
I'm trying to read a file containing lines with spaces in them.

The inputfile looks like this
------------------------------
Command1 arg1 arg2
Command2 arg5 arg6 arg7
-------------------------------

The shell code looks like this...

lines=`awk '{ print }' inputfile`

In most shells, the usual way to get an entire file into a variable is:

Code:
file=$( cat "$FILE" )

In bash (and ksh93) you can save a process with:

Code:
file=$( < "$FILE" )

But the usual way to read a file line by line in the shell is:

Code:
n=0
while IFS= read -r line
do
  printf "%3d: %s\n" "$(( n += 1 ))" "$line"
done < inputfile

Quote:

for LINE in $lines ; do
Code:
IFS=$'\n'; for line in $lines; do

Quote:

echo ${LINE}
done
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

BASH with AWK

Hello, I have a file.txt with 20000 lines and 2 columns each which consists of current_filename and new_filename . I want to create a script to find files in a directory with current_filename and move it to new folder with new_filename. Could you please help me how to do that?? ... (2 Replies)
Discussion started by: narasimhulu
2 Replies

2. Shell Programming and Scripting

Is there any better way for sorting in bash/awk

Hi, I have a file which is:- 1 6 4 8 2 3 2 1 9 3 2 1 3 3 5 6 3 1 4 9 7 8 2 3 I would like to sort from field $2 to field $6 for each of the line to:- 1 2 3 4 6 8 2 1 1 2 3 9 3 1 3 3 5 6 4 2 3 7 8 9 I came across this Arrays on example 26-6. But it is much complicated. I am... (7 Replies)
Discussion started by: ahjiefreak
7 Replies

3. Shell Programming and Scripting

scripting help with bash and awk

I'm trying to reformat some tide information into a useable format and failing. Input file is.... 4452 CHENNAI (MADRAS) 13°06'N, 80°18'E India East Coast 01 June 2009 UT(GMT) Data Area 3. Indian Ocean (northern part) and Red Sea to Singapore 01/06/2009 00:00 0.7 m 00:20 0.7 m 00:40... (3 Replies)
Discussion started by: garethsays
3 Replies

4. UNIX for Dummies Questions & Answers

Help with BASH/AWK queries ....

Hi Everyone, I have an input file in the following format: score.file1.txt contig00045 length=566 numreads=19 1047 0.0 contig00055 length=524 numreads=7 793 0.0 contig00052 length=535 numreads=10 607 e-176 contig00072 length=472 numreads=46 571 e-165... (8 Replies)
Discussion started by: Fahmida
8 Replies

5. Shell Programming and Scripting

AWK/Bash script

I would like to write a script to extend this command to a general case: BEGIN {s_0=0;n_0=0}{n_0++;s_0+=($51-$1)^2}END {print sqrt(s_0/n_0)} i.e. so that BEGIN {s_0=0;n_0=0}{n_0++;s_0+=($51-$1)^2}END {print sqrt(s_0/n_0)} BEGIN {s_1=0;n_1=0}{n_1++;s_1+=($51-$2)^2}END {print... (3 Replies)
Discussion started by: chrisjorg
3 Replies

6. UNIX for Dummies Questions & Answers

Help in awk/bash

Hi, I am also a newbie in awk and trying to find solution of my problem. I have one reference file 1.txt with 2 columns and I want to search other 10 files (a.txt, b.txt......h.txt each with 5 columns) corresponding to the values of 2nd column from 1.txt. If the value from 2nd column from 1.txt... (0 Replies)
Discussion started by: bioinfo
0 Replies

7. Shell Programming and Scripting

Help in awk/bash

Hi, I have two files: atom.txt and g.txt atom.txt has multiple patterns but I am showing only two patterns each ending with ENDMDL: ATOM 1 N SER A 1 35.092 83.194 140.076 1.00 0.00 N ATOM 2 CA SER A 1 35.216 83.725 138.725 1.00 0.00 C TER ENDMDL ATOM 1 N SER A 1 35.683 81.326 139.778 1.00... (11 Replies)
Discussion started by: bioinfo
11 Replies

8. Shell Programming and Scripting

Help in awk/bash

Hi, I am also a newbie in awk and trying to find solution of my problem. I have one reference file 1.txt with 2 columns and I want to search other 10 files (a.txt, b.txt......h.txt each with 5 columns) corresponding to the values of 2nd column from 1.txt. If the value from 2nd column from 1.txt... (33 Replies)
Discussion started by: bioinfo
33 Replies

9. Shell Programming and Scripting

Returning a value from awk to bash

Hi I am a newbie starting bash and I have a simple need to return the result of an operation from awk to bash. basically I want to use awk to tell me if "#" exists in a string, and then back in bash, i want to do an IF statement on this return in order to do other things. In my bash shell I... (2 Replies)
Discussion started by: oahmad
2 Replies

10. UNIX for Dummies Questions & Answers

New problem with awk using bash

Hi! I have a new problem with awk, this time I think is because I'm using it in bash and I don't know how to put the valor of the variable in awk. Here is the code: #!/bin/bash for i in 1 2 3 4 5 do a=$i b=$ awk '$1>=a&&$1<=b {print $1,$2,$3}'>asdf test... (3 Replies)
Discussion started by: florpi
3 Replies
KTR(9)							   BSD Kernel Developer's Manual						    KTR(9)

NAME
CTR0, CTR1, CTR2, CTR3, CTR4, CTR5 -- kernel tracing facility SYNOPSIS
#include <sys/param.h> #include <sys/ktr.h> extern int ktr_cpumask; extern int ktr_entries; extern int ktr_extend; extern int ktr_mask; extern int ktr_verbose; extern struct ktr_entry ktr_buf[]; void CTR0(u_int mask, char *format); void CTR1(u_int mask, char *format, arg1); void CTR2(u_int mask, char *format, arg1, arg2); void CTR3(u_int mask, char *format, arg1, arg2, arg3); void CTR4(u_int mask, char *format, arg1, arg2, arg3, arg4); void CTR5(u_int mask, char *format, arg1, arg2, arg3, arg4, arg5); void CTR6(u_int mask, char *format, arg1, arg2, arg3, arg4, arg5, arg6); DESCRIPTION
KTR provides a circular buffer of events that can be logged in a printf(9) style fashion. These events can then be dumped with ddb(4), gdb(1) or ktrdump(8). Events are created and logged in the kernel via the CTRx macros. The first parameter is a mask of event types (KTR_*) defined in <sys/ktr.h>. The event will be logged only if any of the event types specified in mask are enabled in the global event mask stored in ktr_mask. The format argument is a printf(9) style format string used to build the text of the event log message. Following the format string are zero to five arguments referenced by format. Each event is logged with a file name and source line number of the originating CTR call, and a timestamp in addition to the log message. The event is stored in the circular buffer with supplied arguments as is, and formatting is done at the dump time. Do not use pointers to the objects with limited lifetime, for instance, strings, because the pointer may become invalid when buffer is printed. Note that the different macros differ only in the number of arguments each one takes, as indicated by its name. The ktr_entries variable contains the number of entries in the ktr_buf array. These variables are mostly useful for post-mortem crash dump tools to locate the base of the circular trace buffer and its length. The ktr_mask variable contains the run time mask of events to log. The CPU event mask is stored in the ktr_cpumask variable. The ktr_verbose variable stores the verbose flag that controls whether events are logged to the console in addition to the event buffer. EXAMPLES
This example demonstrates the use of tracepoints at the KTR_PROC logging level. void mi_switch() { ... /* * Pick a new current process and record its start time. */ ... CTR3(KTR_PROC, "mi_switch: old proc %p (pid %d)", p, p->p_pid); ... cpu_switch(); ... CTR3(KTR_PROC, "mi_switch: new proc %p (pid %d)", p, p->p_pid); ... } SEE ALSO
ktr(4), ktrdump(8) HISTORY
The KTR kernel tracing facility first appeared in BSD/OS 3.0 and was imported into FreeBSD 5.0. BUGS
Currently there is one global buffer shared among all CPUs. It might be profitable at some point in time to use per-CPU buffers instead so that if one CPU halts or starts spinning, then the log messages it emitted just prior to halting or spinning will not be drowned out by events from the other CPUs. The arguments given in CTRx() macros are stored as u_long, so do not pass arguments larger than size of an u_long type. For example passing 64bit arguments on 32bit architectures will give incorrect results. BSD
November 30, 2008 BSD
All times are GMT -4. The time now is 01:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy