Sponsored Content
Top Forums Shell Programming and Scripting awk processing of variable number of fields data file Post 302874473 by CarloM on Friday 15th of November 2013 10:20:41 AM
Old 11-15-2013
You could check explicitly check for every 4th line:
Code:
awk '
NR%4==0 { 4 columns stuff }
NR%4!=0 { 6 columns stuff}'

(EDIT: Or check NF==4/NF==6, as was suggested in a briefly-lived post Smilie)


Or just loop around the number of fields you actually have in each line:
Code:
awk '
{
   for (i=1;i<=NF;i++) {
      printf ("%12.8G ", $i*$i)
   }
   printf "\n"
}'


Last edited by CarloM; 11-15-2013 at 12:00 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

AWK - printing certain fields when field order changes in data file

I'm hoping someone can help me on this. I have a data file that greatly simplified might look like this: sec;src;dst;proto 421;10.10.10.1;10.10.10.2;tcp 426;10.10.10.3;10.10.10.4;udp 442;10.10.10.5;10.10.10.6;tcp sec;src;fac;dst;proto 521;10.10.10.1;ab;10.10.10.2;tcp... (3 Replies)
Discussion started by: eric4
3 Replies

2. Shell Programming and Scripting

Parse apart strings of comma separated data with varying number of fields

I have a situation where I am reading a text file line-by-line. Those lines of data contain comma separated fields of data. However, each line can vary in the number of fields it can contain. What I need to do is parse apart each line and write each field of data found (left to right) into a file.... (7 Replies)
Discussion started by: 2reperry
7 Replies

3. Shell Programming and Scripting

awk sed cut? to rearrange random number of fields into 3 fields

I'm working on formatting some attendance data to meet a vendors requirements to upload to their system. With some help on the forums here, I have the data close. But they've since changed what they want. The vendor wants me to submit three fields to them. Field 1 is the studentid field,... (4 Replies)
Discussion started by: axo959
4 Replies

4. Shell Programming and Scripting

Help with data processing, maybe awk

I have a file, first 5 columns are very normal, like "1107",106027,71400,"Y","BIOLOGY",, however, the 6th columns, the user can put comments, anything, just any characters, like new line, double quote, single quote, whatever from the keyboard, like"Please load my previous SOM597G course content in... (3 Replies)
Discussion started by: freelong
3 Replies

5. Shell Programming and Scripting

number of fields in a text file as a variable - perl

I am looking for perl code to get following o/p. If a line has more than 7 fields then value in field 7 onwards is BHA_GRP1, BHA_GRP2, BHA_GRP3, BHA_GRP4 etc. Here is example of what I am trying to achieve. INPUT File: VAH NIC_TYPE CONFIG SIZE_GB PILO KOM BHA_GRP1 BHA_GRP2 BHA_GRP3...... 2... (1 Reply)
Discussion started by: dynamax
1 Replies

6. Shell Programming and Scripting

awk help: Match data fields from 2 files & output results from both into 1 file

I need to take 2 input files and create 1 output based on matches from each file. I am looking to match field #1 in both files (Userid) and create an output file that will be a combination of fields from both file1 and file2 if there are any differences in the fields 2,3,4,5,or 6. Below is an... (5 Replies)
Discussion started by: ambroze
5 Replies

7. Shell Programming and Scripting

Data processing using awk

Hello, I have some bitrate data in a csv which is in an odd format and is difficult to process in Excel when I have thousands of rows. Therefore, I was thinking of doing this in bash and using awk as the primary application except that due to its complication, I'm a little stuck. ... (24 Replies)
Discussion started by: shadyuk
24 Replies

8. Shell Programming and Scripting

[ksh88 and awk] Number of fields with a value.

Hi, With: # VALUES="one~two~~~" # echo $VALUES | awk 'BEGIN {FS="~"} {print NF}' 5 I can determine the number of fields. How to determine the number of fields with a value ? In this case 2. Thanks in advance, ejdv (6 Replies)
Discussion started by: ejdv
6 Replies

9. Programming

awk processing / Shell Script Processing to remove columns text file

Hello, I extracted a list of files in a directory with the command ls . However this is not my computer, so the ls functionality has been revamped so that it gives the filesizes in front like this : This is the output of ls command : I stored the output in a file filelist 1.1M... (5 Replies)
Discussion started by: ajayram
5 Replies

10. Shell Programming and Scripting

Setting the number of fields using awk

Hi Guys, I've obviously had a senior moment here, what I'm trying to do is set the number of fields to 35 in a csv these should be appended to the end of the line. But what I'm getting is:- Source Data $ head out_file_01.txt N1000,024,2809003,,,3,DYNAMIC AVLEASE INC,PO BOX... (10 Replies)
Discussion started by: gull04
10 Replies
PERIODIC.CONF(5)					      BSD File Formats Manual						  PERIODIC.CONF(5)

NAME
periodic.conf -- periodic job configuration information DESCRIPTION
The file periodic.conf contains a description of how daily, weekly and monthly system maintenance jobs should run. It resides in the /etc/defaults directory and parts may be overridden by a file of the same name in /etc, which itself may be overridden by the /etc/periodic.conf.local file. The periodic.conf file is actually sourced as a shell script from each of the periodic scripts and is intended to simply provide default con- figuration variables. The following variables are used by periodic(8) itself: local_periodic (str) List of directories to search for periodic scripts. This list is always prefixed with /etc/periodic, and is only used when an argument to periodic(8) is not an absolute directory name. <dir>_output (path or list) What to do with the output of the scripts executed from the directory dir. If this variable is set to an absolute path name, output is logged to that file, otherwise it is taken as one or more space separated email addresses and mailed to those users. If this variable is not set or is empty, output is sent to standard output. For an unattended machine, suitable values for daily_output, weekly_output, and monthly_output might be ``/var/log/daily.log'', ``/var/log/weekly.log'', and ``/var/log/monthly.log'' respectively, as newsyslog(8) will rotate these files (if they exists) at the appropriate times. <dir>_show_success <dir>_show_info <dir>_show_badconfig (bool) These variables control whether periodic(8) will mask the output of the executed scripts based on their return code (where dir is the base directory name in which each script resides). If the return code of a script is '0' and <dir>_show_success is set to ``NO'', periodic(8) will mask the script's output. If the return code of a script is '1' and <dir>_show_info is set to ``NO'', periodic(8) will mask the script's output. If the return code of a script is '2' and <dir>_show_badconfig is set to ``NO'', periodic(8) will mask the script's output. If these variables are set to neither ``YES'' nor ``NO'', they default to ``YES'', ``YES'' and ``NO'' respectively. Refer to the periodic(8) manual page for how script return codes are interpreted. The following variables are used by the standard scripts that reside in /etc/periodic/daily: daily_clean_tmps_enable (bool) Set to ``YES'' if you want to clear temporary directories daily. daily_clean_tmps_dirs (str) Set to the list of directories to clear if daily_clean_tmps_enable is set to ``YES''. daily_clean_tmps_days (num) When daily_clean_tmps_enable is set, this must also be set to the number of days old that a file's access and modification times must be before it is deleted. daily_clean_tmps_ignore (str) Set to the list of files that should not be deleted when daily_clean_tmps_enable is set to ``YES''. Wild card characters are permitted. daily_clean_tmps_verbose (bool) Set to ``YES'' if you want the removed files to be reported in your daily output. daily_clean_msgs_enable (bool) Set to ``YES'' if you wish old system messages to be purged. daily_clean_msgs_days (num) Set to the number of days that files must not have been modified before they are deleted. If this variable is left blank, the msgs(1) default is used. daily_clean_rwho_enable (bool) Set to ``YES'' if you wish old files in /var/who to be purged. daily_clean_rwho_days (num) Set to the number of days that files must not have been modified before they are deleted. daily_clean_rwho_verbose (bool) Set to ``YES'' if you want the removed files to be reported in your daily output. daily_accounting_enable (bool) Set to ``YES'' if you want to rotate your daily accounting files. No rotations are necessary unless accounting_enable is enabled in rc.conf(5). daily_accounting_compress (bool) Set to ``YES'' if you want your daily accounting files to be compressed using gzip(1). daily_accounting_save (num) When daily_accounting_enable is set, this may also be set to the number of daily accounting files that are to be saved. The default is ``3''. daily_accounting_flags (str) Set to the arguments to pass to the sa(8) utility (in addition to -s) when daily_accounting_enable is set to ``YES''. The default is -q. daily_status_disks_enable (bool) Set to ``YES'' if you want to run df(1) (with the arguments supplied in daily_status_disks_df_flags). daily_status_disks_df_flags (str) Set to the arguments for the df(1) utility when daily_status_disks_enable is set to ``YES''. daily_status_network_enable (bool) Set to ``YES'' if you want to run netstat -i. daily_status_network_usedns (bool) Set to ``YES'' if you want to run netstat(1) without the -n option (to do DNS lookups). daily_status_rwho_enable (bool) Set to ``YES'' if you want to run uptime(1) (or ruptime(1) if rwhod_enable is set to ``YES'' in /etc/rc.conf). daily_status_mailq_enable (bool) Set to ``YES'' if you want to run mailq(1). daily_status_mailq_shorten (bool) Set to ``YES'' if you want to shorten the mailq(1) output when daily_status_mailq_enable is set to ``YES''. daily_status_include_submit_mailq (bool) Set to ``YES'' if you also want to run mailq(1) on the submit mail queue when daily_status_mailq_enable is set to ``YES''. This may not work with MTAs other than sendmail(8). daily_local (str) Set to a list of extra scripts that should be run after all other daily scripts. All scripts must be absolute path names. The following variables are used by the standard scripts that reside in /etc/periodic/weekly: weekly_whatis_enable (bool) Set to ``YES'' if you want to run /usr/libexec/makewhatis.local. This script regenerates the database used by the apropos(1) command. weekly_local (str) Set to a list of extra scripts that should be run after all other weekly scripts. All scripts must be absolute path names. The following variables are used by the standard scripts that reside in /etc/periodic/monthly: monthly_accounting_enable (bool) Set to ``YES'' if you want to do login accounting using the ac(8) command. monthly_local (str) Set to a list of extra scripts that should be run after all other monthly scripts. All scripts must be absolute path names. FILES
/etc/defaults/periodic.conf The default configuration file. This file contains all default variables and values. /etc/periodic.conf The usual system specific variable override file. /etc/periodic.conf.local An additional override file, useful when /etc/periodic.conf is shared or distributed. SEE ALSO
apropos(1), calendar(1), df(1), diff(1), gzip(1), man(1), msgs(1), netstat(1), nice(1), ac(8), newsyslog(8), periodic(8), sendmail(8) HISTORY
The periodic.conf file appeared in FreeBSD 4.1. AUTHORS
Brian Somers <brian@Awfulhak.org> BSD
May 12, 2007 BSD
All times are GMT -4. The time now is 01:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy