Sponsored Content
Top Forums UNIX for Dummies Questions & Answers awk: syntax for "if (array doesn't contain a particular index)" Post 302703591 by elixir_sinari on Thursday 20th of September 2012 03:57:05 AM
Old 09-20-2012
You may refer to $1 inside a function, no problems. But, remember that in awk, all the variables used in a user-defined function are global (except for those passed as parameters while invoking the function). So, if your function changes $1 in any way (assignment,sub/gsub,etc.), those changes will be permanent, which might not be what you wanted.

So, it's always better to pass data to functions using the parameters so that you are working on a copy of the data and in no way, changing/destroying with the original data.
This User Gave Thanks to elixir_sinari For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Awk Syntax Error "!~"

This is my Awk command. direct_count=`awk -F; 'BEGIN { direct_count=0 } $16 !~ /(PBLON|PBNY)/ || $18 !~ /(PBLON|PBNY)/ { direct_count++ } END { print direct_count }' ls.txt` I get a syntax error. BEGIN { direct_count=0 } $16 !~ /(PBLON|PBNY)/ || $18 !~ /(PBLON|PBNY)/ { direct_count++ }... (6 Replies)
Discussion started by: yongho
6 Replies

2. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

3. Shell Programming and Scripting

acessing awk array element while getline < "file"

I am attempting to write a awk script that reads in a file after awk array elements are assigned and using those elements while reading in the new file. Does this make sense? /pattern/ {tst=$3} (( getline < "file" ) > 0 ) { x=x " "tst } When I print tst in the END statement it... (9 Replies)
Discussion started by: timj123
9 Replies

4. Shell Programming and Scripting

awk array starting with "ord"

I was writing a awk function and had a error I was wondering about. It revolves around a Multidimensional array starting with ord example: if ( _e == 5 ) { lmrb=$5 ; lmtb=$6 ; larb=$7 ; latb=$8 } ... (2 Replies)
Discussion started by: timj123
2 Replies

5. Shell Programming and Scripting

cat $como_file | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g'

hi All, cat file_name | awk /^~/'{print $1","$2","$3","$4}' | sed -e 's/~//g' Can this be done by using sed or awk alone (4 Replies)
Discussion started by: harshakusam
4 Replies

6. Shell Programming and Scripting

Need to parse file "x" lines at a time ... awk array?

I have files that store multiple data points for the same device "vertically" and include multiple devices. It repeats a consistant pattern of lines where for each line: Column 1 is a common number for the entire file and all devices in that file Column 2 is a unique device number Column 3 is... (7 Replies)
Discussion started by: STN
7 Replies

7. Programming

C: Initialize "const" array from the "heap"

Hello, I am working on solving an NP-Complete problem, so it is very important that operations and data with limited integer-argument ranges be computed using immutable look-up-tables contained entirely in CPU cache. Retrieval of the look-up-table data must never leave the CPU once initially... (6 Replies)
Discussion started by: HeavyJ
6 Replies

8. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

9. HP-UX

DLT 7000 tape drive failing with "write error on a record in the index"

HP rp5450 (L2000) running HP-UX 11.11B Using DLT 7000 and DLT 4000 tape drives for nightly full backups Backup jobs created by SAM DLT 7000 cron entry is as follows: 00 2 * * 1-6 /usr/sam/lbin/br_backup DLT FULL Y /dev/rmt/0m /var/sam/graphLCAa17036 root Y 1 N > /var/sam/SAM_br_msgs 2>&1... (1 Reply)
Discussion started by: dreh99
1 Replies

10. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies
mlib_ImageResetStruct(3MLIB)											      mlib_ImageResetStruct(3MLIB)

NAME
mlib_ImageResetStruct - reset image data structure SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_ImageResetStruct(mlib_image *image, mlib_type type, mlib_s32 channels, mlib_s32 width, mlib_s32 height, mlib_s32 stride, const void *datbuf); The mlib_ImageResetStruct() function resets a mediaLib image data structure using parameters supplied by the user. The mlib_ImageResetStruct() function returns MLIB_FAILURE if the supplied parameters do not pass the following sanity checks: o image should not be NULL o type should be MLIB_BIT, MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, MLIB_INT, MLIB_FLOAT, or MLIB_DOUBLE o channels should be between 1 and 4 o width should be greater than 0 o height should be greater than 0 o stride should be no less than width * channels * (size of type in bytes) Whenever MLIB_FAILURE is returned, the original image data structure is not changed. When datbuf is NULL, the original data buffer is reused. If mlib_ImageIsUserAllocated(image)==0, such as the case the image data structure was created by mlib_ImageCreate(), and the data buffer size required by the parameters supplied is larger than the original, MLIB_FAILURE is returned. When datbuf is not NULL, if mlib_ImageIsUserAllocated(image)==0, the original data buffer is freed, otherwise the original data buffer is not freed. If datbuf points to the original data buffer, it is not freed. The function takes the following arguments: image Pointer to the image data structure. type Image data type. It can be MLIB_BIT, MLIB_BYTE, MLIB_SHORT, MLIB_USHORT, MLIB_INT, MLIB_FLOAT, or MLIB_DOUBLE. channels Number of channels in the image. width Width of image in pixels. height Height of image in pixels. stride Stride of each row of the data space in bytes. datbuf Pointer to the image data buffer. MLIB_SUCCESS is returned if the image data structure is reset successfully. MLIB_FAILURE is returned when the image data structure can not be reset according to the parameters supplied. See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ mlib_ImageCreate(3MLIB), mlib_ImageCreateSubimage(3MLIB), mlib_ImageCreateStruct(3MLIB), mlib_ImageSetStruct(3MLIB), mlib_ImageDelete(3MLIB), mlib_ImageSetFormat(3MLIB), mlib_ImageSetPaddings(3MLIB), attributes(5) 1 Mar 2005 mlib_ImageResetStruct(3MLIB)
All times are GMT -4. The time now is 03:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy