Sponsored Content
Full Discussion: System function in awk
Top Forums Shell Programming and Scripting System function in awk Post 302788821 by EAGL€ on Tuesday 2nd of April 2013 02:10:04 PM
Old 04-02-2013
Quote:
Originally Posted by Corona688
## is "strip longest match from the front". So it'll find the longest pattern ending in space that it can, from the front.

Code:
FIRST="$1"
SECOND="$2"

OLDIFS="$IFS"
IFS="|"
find "$FIRST" -type f -name "*cdr*.txt" 2>/dev/null | while read FILE
do
        IFS="" read LINE <"$FILE" || continue
        set -- $LINE
        shift $(($# - 1)) # Get rid of all but last option

        [ "$1" = "1" ] || continue
        echo mv a b # Not sure what you want to move where here
done

You may need to show the relevant line from the CDR file if this doesn't work.
Thanks for help Corona;

I have solved my problem but I will keep this solution on my mind too. I have lack of shell scripting skills so sometimes cant see all solutions; i go for diffucult solutions maybe without knowing Smilie

Let me share my solution too to show how i solved:

Code:
if [ "$#" -ne 2 ]
then
        echo 
        echo "--- There are two arguments which is expected after script! ---"
        echo "--- USAGE: "$0" [FULL PATH of CDR DIRECTORY] [NEW FULL PATH for INITIALLY CHARGED CDRs] ---"
        echo "--- i.e. "$0" /opt/data/cdr /opt/data/cdr_initial ---"
        echo
elif [ "$#" -eq 2 ]
then
        NEWPATH=$2
        first_char=$"NEWPATH:0:1"
        echo "$first_char"
		 
        if [ "$first_char" -eq "/" ]
        then    
                if [ ! -d "$NEWPATH" ];
                then
                        mkdir $NEWPATH
                fi      
        else
                echo 
                echo "--- There are two arguments which is expected after script! ---"
                echo "--- USAGE: "$0" [FULL PATH of CDR DIRECTORY] [NEW FULL PATH for INITIALLY CHARGED CDRs] ---"
                echo "--- i.e. "$0" /opt/data/cdr /opt/data/cdr_initial ---"
                echo
        fi
        for file in `find $1 -type f -name "*.txt" 2>/dev/null`
        do
                nawk -F\| -v path=$2 'NR==1{if($NF==1)system( "mv "FILENAME" "path"/" )}' $file
        done
fi

Kind Regards
 

10 More Discussions You Might Find Interesting

1. Programming

system function in c

Hai Friends I have used the function system() to execute a command. My requirement is that i have to list the files in a directory applying some wildcard paterns. For example if i want to list *.c files i go with the function system("ls *.c"); and the output gets printed on the monitor.... (1 Reply)
Discussion started by: collins
1 Replies

2. UNIX for Dummies Questions & Answers

System() function in <stdlib.h>

Hi, guys ,, I want to know the implementation of System() function in C Unix, and its prototype definition: int system(const char * string) in the header file <stdlib.h> ??! please help me ! because that is part of my project !! (0 Replies)
Discussion started by: someone33
0 Replies

3. Shell Programming and Scripting

shell function, system, awk

Hi all, I am calling a shell function within awk using system. I am struggling to get my expected output: #!/bin/sh set -o nounset BEG=44 END=55 shfun() { echo "1|2|3" } export -f shfun typeset -F > /dev/null awk 'BEGIN {OFS="|"; print "'"$BEG"'",system( "shfun"... (5 Replies)
Discussion started by: jkl_jkl
5 Replies

4. UNIX for Dummies Questions & Answers

How to use ${?} and system() function???

Hi All, I am in a process to send the mail automatically with an attachment to bulk users. I have used 'Mailx' and 'Unencode' commands for the same and those worked fine. Please find below the same. X " ( cat /sastemp/body.txt; uuencode test.xls test.xls ) | mailx -s 'testing'... (1 Reply)
Discussion started by: manas6
1 Replies

5. Programming

Question about the system() function in C

Hello all ! Could someone throw some light on whether there's a limit to the number of characters contained in the command string that is passed to the system() call in C. Is it OS dependent? If yes, what are the limits for each? Thanks. (4 Replies)
Discussion started by: vsanjit
4 Replies

6. Shell Programming and Scripting

How to use system function in awk

Could any one tell me how to use the system function in awk? I want to use it to print the system date. I have been trying like this : yes |head -1|awk '{ system("date")}' When I execute the above it always returns back to the prompt. Your help would be much appreciated. regards,... (3 Replies)
Discussion started by: srikanth_ksv
3 Replies

7. UNIX for Dummies Questions & Answers

Using system function in C

Hi Guys , I want to use system function in C to do the following work. cp <file1> <file2> and then ><file1> e,g cp \var\log\cpm_cpmd_1.log.1 \var\log\cpm_cpmd_1.log.2 and then >\var\log\cpm_cpmd_1.log.1 1. g_config_info.cpmm_config.cpm_log_path=\var\log\ 2. ... (3 Replies)
Discussion started by: meet123321
3 Replies

8. Shell Programming and Scripting

Help using SYSTEM function in NAWK

I am scanning a file (line by line) for format errors. A line could have multiple errors. Each field in the line is evaluated for errors and sent, along w/ any error messages, to a temporary file. Finally, if any errors were detected, this temporary file is then appended to the errorFile. The... (4 Replies)
Discussion started by: aschera
4 Replies

9. UNIX for Dummies Questions & Answers

passing coloumn value to system function in awk

Hi all, I have a file which contain data like 1|2009-12-12 2|2010-02-28 3|2009-02-29 i have to validate that second coloumn have proper date i tried like awk -F "|" ' !system("touch -d $2 file1 2> /dev/null" ) ' but its not printing any thing but when i try using hard... (2 Replies)
Discussion started by: max_hammer
2 Replies

10. Shell Programming and Scripting

Need help on awk for printing the function name inside each function

Hi, I am having script which contains many functions. Need to print each function name at the starting of the function. Like below, functionname() { echo "functionname" commands.... } I've tried like below, func=`grep "()" scriptname | cut -d "(" -f1` for i in $func do nawk -v... (4 Replies)
Discussion started by: Sumanthsv
4 Replies
readfile(1F)							   FMLI Commands						      readfile(1F)

NAME
readfile, longline - reads file, gets longest line SYNOPSIS
readfile filename longline [filename] DESCRIPTION
The readfile function reads filename and copies it to stdout. No translation of NEWLINE is done. It keeps track of the longest line it reads and if there is a subsequent call to longline, the length of that line, including the NEWLINE character, is returned. The longline function returns the length, including the NEWLINE character, of the longest line in filename. If filename is not specified, it uses the file named in the last call to readfile. EXAMPLES
Example 1: Typical use of readfile and longline Here is a typical use of readfile and longline in a text frame definition file: . . . text="`readfile myfile`" columns=`longline` . . . ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
cat(1), attributes(5) DIAGNOSTICS
If filename does not exist, readfile will return FALSE (that is, the expression will have an error return). longline returns 0 if a readfile has not previously been issued. NOTES
More than one descriptor can call readfile in the same frame definition file. In text frames, if one of those calls is made from the text descriptor, then a subsequent use of longline will always get the longest line of the file read by the readfile associated with the text descriptor, even if it was not the most recent use of readfile. SunOS 5.10 5 Jul 1990 readfile(1F)
All times are GMT -4. The time now is 01:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy