Sponsored Content
Full Discussion: AWK instead of Shell script
Top Forums UNIX for Advanced & Expert Users AWK instead of Shell script Post 302165965 by radoulov on Sunday 10th of February 2008 06:15:30 AM
Old 02-10-2008
Quote:
Originally Posted by lokiman
Yes, but not completely.

Script should abort if any one file doesn't have 'read' permission.
How to do this? Smilie
Use bash, ksh93 (/usr/dt/bin/dtksh on Solaris)
or zsh, do not use ksh88 (ksh on Solaris):

Code:
#!/bin/bash

source_dir="FTPIN"
file_list="FILES/list_file"
out="FTPOUT/complete.txt"
unset f

while IFS= read;do
  [ -r "$source_dir/$REPLY" ] && \
  f=("${f[@]}" "$source_dir/$REPLY")||exit 1
done<"$file_list" && \
nawk 'f[FILENAME] == 1 && !/^\*TM\*/
/^\*TM\*/ { f[FILENAME]++ }
' "${f[@]}" > "$out"

exit


Last edited by radoulov; 02-10-2008 at 09:49 AM..
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

awk in shell script...

I have an awk script contained within a ksh script that I want to read the contents of a file with, say 3 records. Fields are a, b, and c, delimiter '|'. I want to read the file and then I want to set different variables for $1, $2, $3 to be used as parameters to run a series of reports outside... (2 Replies)
Discussion started by: giannicello
2 Replies

2. Shell Programming and Scripting

using shell script or awk......

suppose my one file has >1|lol|hai i am cdfd dafvshbejndjnudbnjdbyebjcb bdhbdjndjndmdkmdkldhddjndj dbdhbndjndjmdklm sjskndknsknsknks sbsjksnknsknknklsl >2|lol|hai ia m cdfd123 jbsjbjbjbjbjbjbjbjbjbj jkbkkkkkkkkkkkkk khkkkkkkkkkkkkk scbjbjbakbqlblabkla >3lol|hai ia m cdfd3435... (2 Replies)
Discussion started by: cdfd123
2 Replies

3. Shell Programming and Scripting

create a shell script that calls another script and and an awk script

Hi guys I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file. #!/bin/sh echo " $2 $3 $4 $5 $6 $7 isql -w400 -U$2 -S$5 -P$3 << xxx use $4 go print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies

4. Shell Programming and Scripting

want to pass parameters to awk script from shell script

Hello, I have this awk script that I want to execute by passing parameters through a shell script. I'm a little confused. This awk script removes duplicates from an input file. Ok, so I have a .sh file called rem_dups.sh #!/usr/bin/sh... (4 Replies)
Discussion started by: script_op2a
4 Replies

5. Shell Programming and Scripting

Call shell script function from awk script

hi everyone i am trying to do this bash> cat abc.sh deepak() { echo Deepak } deepak bash>./abc.sh Deepak so it is giving me write simply i created a func and it worked now i modified it like this way bash> cat abc.sh (2 Replies)
Discussion started by: aishsimplesweet
2 Replies

6. Shell Programming and Scripting

Calling shell script within awk script throws error

I am getting the following error while passing parameter to a shell script called within awk script. Any idea what's causing this issue and how to ix it ? Thanks sh: -c: line 0: syntax error near unexpected token `newline' sh: -c: line 0: `./billdatecalc.sh ... (10 Replies)
Discussion started by: Sudhakar333
10 Replies

7. Post Here to Contact Site Administrators and Moderators

Unable to pass shell script parameter value to awk command in side the same script

Variable I have in my shell script diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk -F'~' ''$2 == "$id"' {print $0}' > $new I could see value of $id is not passing to the awk... (0 Replies)
Discussion started by: Ashunayak
0 Replies

8. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

9. UNIX for Dummies Questions & Answers

Passing shell script parameter value to awk command in side the script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff |... (1 Reply)
Discussion started by: Sarita Behera
1 Replies

10. UNIX for Beginners Questions & Answers

Shell script to call and sort awk script and output

I'm trying to create a shell script that takes a awk script that I wrote and a filename as an argument. I was able to get that done but I'm having trouble figuring out how to keep the header of the output at the top but sort the rest of the rows alphabetically. This is what I have now but it is... (1 Reply)
Discussion started by: Eric7giants
1 Replies
cp(1)								   User Commands							     cp(1)

NAME
cp - copy files SYNOPSIS
/usr/bin/cp [-fip@] source_file target_file /usr/bin/cp [-fip@] source_file... target /usr/bin/cp -r | -R [-H | -L | -P] [-fip@] source_dir... target /usr/xpg4/bin/cp [-fip@] source_file target_file /usr/xpg4/bin/cp [-fip@] source_file... target /usr/xpg4/bin/cp -r | -R [-H | -L | -P] [-fip@] source_dir... target DESCRIPTION
In the first synopsis form, neither source_file nor target_file are directory files, nor can they have the same name. The cp utility copies the contents of source_file to the destination path named by target_file. If target_file exists, cp overwrites its contents, but the mode (and ACL if applicable), owner, and group associated with it are not changed. The last modification time of target_file and the last access time of source_file are set to the time the copy was made. If target_file does not exist, cp creates a new file named target_file that has the same mode as source_file except that the sticky bit is not set unless the user is super-user. In this case, the owner and group of target_file are those of the user, unless the setgid bit is set on the directory containing the newly created file. If the direc- tory's setgid bit is set, the newly created file has the group of the containing directory rather than of the creating user. If target_file is a link to another file, cp overwrites the link destination with the contents of source_file; the link(s) from target_file remains. In the second synopsis form, one or more source_files are copied to the directory specified by target. It is an error if any source_file is a file of type directory, if target either does not exist or is not a directory. In the third synopsis form, one or more directories specified by source_dir are copied to the directory specified by target. Either -r or -R must be specified. For each source_dir, cp copies all files and subdirectories. OPTIONS
The following options are supported for both /usr/bin/cp and /usr/xpg4/bin/cp: -f Unlink. If a file descriptor for a destination file cannot be obtained, this option attempts to unlink the destination file and proceed. -H Takes actions based on the type and contents of the file referenced by any symbolic link specified as a source_file operand. -i Interactive. cp prompts for confirmation whenever the copy would overwrite an existing target. A y answer means that the copy should proceed. Any other answer prevents cp from overwriting target. -L Takes actions based on the type and contents of the file referenced by any symbolic link specified as a source_file operand or any symbolic links encountered during traversal of a file hierarchy. -P Takes actions on any symbolic link specified as a source_file operand or any symbolic link encountered during traversal of a file hierarchy. -r Recursive. cp copies the directory and all its files, including any subdirectories and their files to target. Unless the -H, -L, or -P option is specified, the -L option is used as the default mode. -R Same as -r, except pipes are replicated, not read from. -@ Preserves extended attributes. cp attempts to copy all of the source file's extended attributes along with the file data to the destination file. Specifying more than one of the mutually-exclusive options -H, -L, and -P is not considered an error. The last option specified determines the behavior of the utility. /usr/bin/cp The following option is supported for /usr/bin/cp only: -p Preserve. cp duplicates not only the contents of source_file, but also preserves the owner and group id, permission modes, modifi- cation and access time, ACLs, and extended attributes, if applicable. The command can fail if ACLs are copied to a file system without appropriate support. The command does not fail if unable to preserve extended attributes, modification and access time, or permission modes. If unable to preserve owner and group id, cp does not fail, and it clearsS_ISUID and S_ISGID bits in the target. cp prints a diagnostic message to stderr and return a non-zero exit status if unable to clear these bits. In order to preserve the owner and group id, permission modes, and modification and access times, users must have the appropriate file access permissions. This includes being superuser or the same owner id as the destination file. When both -p and -@ options are specified, the -p option determines the behavior. However, the command can fail if unable to pre- serve extended attributes. /usr/xpg4/bin/cp The following option is supported for /usr/xpg4/bin/cp only: -p Preserve. cp duplicates not only the contents of source_file, but also preserves the owner and group id, permission modes, modifi- cation and access time, ACLs, and extended attributes, if applicable. The command can fail if ACLs are copied to a file system without appropriate support. The command does not fail if unable to preserve extended attributes. If unable to duplicate the modi- fication and access time or the permission modes, cp prints a diagnostic message to stderr and return a non-zero exit status. If unable to preserve owner and group id, cp does not fail, and it clearsS_ISUID and S_ISGID bits in the target. cp prints a diagnos- tic message to stderr and return a non-zero exit status if unable to clear these bits. In order to preserve the owner and group id, permission modes, and modification and access times, users must have the appropriate file access permissions. This includes being superuser or the same owner id as the destination file. When both -p and -@ options are specified, the last specified -p or -@ option determines the behavior. OPERANDS
The following operands are supported: source_file A pathname of a regular file to be copied. source_dir A pathname of a directory to be copied. target_file A pathname of an existing or non-existing file, used for the output when a single file is copied. target A pathname of a directory to contain the copied files. USAGE
See largefile(5) for the description of the behavior of cp when encountering files greater than or equal to 2 Gbyte ( 2**31 bytes). EXAMPLES
Example 1: Copying a File The following example copies a file: example% cp goodies goodies.old example% ls goodies* goodies goodies.old Example 2: Copying a List of Files The following example copies a list of files to a destination directory: example% cp ~/src/* /tmp Example 3: Copying a Directory The following example copies a directory, first to a new, and then to an existing destination directory example% ls ~/bkup /usr/example/fred/bkup not found example% cp -r ~/src ~/bkup example% ls -R ~/bkup x.c y.c z.sh example% cp -r ~/src ~/bkup example% ls -R ~/bkup src x.c y.c z.sh src: x.c y.c z.s ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of cp: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH. EXIT STATUS
The following exit values are returned: 0 All files were copied successfully. >0 An error occurred. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: /usr/bin/cp +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |Stable | +-----------------------------+-----------------------------+ /usr/xpg4/bin/cp +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWxcu4 | +-----------------------------+-----------------------------+ |CSI |Enabled | +-----------------------------+-----------------------------+ |Interface Stability |Standard | +-----------------------------+-----------------------------+ SEE ALSO
chmod(1), chown(1), setfacl(1), utime(2), attributes(5), environ(5), fsattr(5), largefile(5), standards(5) NOTES
The permission modes of the source file are preserved in the copy. A -- permits the user to mark the end of any command line options explicitly, thus allowing cp to recognize filename arguments that begin with a -. SunOS 5.10 13 May 2004 cp(1)
All times are GMT -4. The time now is 05:39 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy