03-03-2010
if, sed or awk with conditions
I do not know how to do this unless I use a bunch of if statements. I need a script to replace numbers in each record in a file. I am really getting tangled in this web.
If a fieldA (19 positions) is greater than 14 digits, I have to change the data (resulting fieldA is fixed 19 postions).
If there are preceding zeros. For example:
'000123456789012 ' would be changed to '123456789012 '
'001234567890123 ' would be changed to 1234567890123 '
'012345678901234 ' would be changed to 12345678901234 '
'123456789012345 ' would not be changed but would report error
I would appreciate any help or direction. Thanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello,
Can you explain why in the first 2 commands the awk does not print anything? Is it looking of a specific format ?
Thanks.
$ echo 12a3 | awk '($1>=2) {print $1}' # prints nothing
$ echo 123a | awk '($1>=2) {print $1}' # prints nothing
$ echo a123 | awk '($1>=2) {print $1}'
a123... (1 Reply)
Discussion started by: majormark
1 Replies
2. Shell Programming and Scripting
Hi Everyone,
# cat 1
1;2;3;4;5;6
1;2;3;4;5;
# awk -F ";" '$5 == "5"' 1
1;2;3;4;5;6
1;2;3;4;5;
but the output is should be just "1;2;3;4;5;6" means 1st condition: $5 is 5; 2nd condition: $6 is not empty, please advice. Thanks (2 Replies)
Discussion started by: jimmy_y
2 Replies
3. Shell Programming and Scripting
Hi there, here is my command
ssh host.local "/path/to/my/perscript/hostconfig.pl -s $HOST -d |awk '{if (\$4 > 120)print \"My error message\";exit}{s=0; for (i=1; i<=NF; i++) s++; if(s == 13) print \$3}'"
The problem is if conditional 1 is met (i.e $4 > 120), i don't see "My error message", the... (5 Replies)
Discussion started by: urello
5 Replies
4. Shell Programming and Scripting
Hi All,
I have a file with below contents.
"en2"/10.185.81.0:cluster_interconnect,"en5"/10.185.81.0:cluster_interconnect,"en6"/169.181.146.0:public
I want to take the interface name from the file and convert it as ipaddress using ifconfig command get the output like below
en6 ->... (2 Replies)
Discussion started by: kamauv234
2 Replies
5. Shell Programming and Scripting
I'm having a problem pulling UID's from data. The data outputs a user's UID in one of three ways:
1. Error User user_name already assigned with <UID>
2. Success <UID> reserved for user_name
3. <a load of crap because there was a db failure yet somehow the UID is still in there>
I typically... (5 Replies)
Discussion started by: MaindotC
5 Replies
6. Shell Programming and Scripting
#set -x
path=`pwd`
while read line
do
dd=`echo $line|awk -F"," '{print $1}'|awk -F"/" '{print $2}'`
if
then
mm=`echo $line|awk -F"," '{print $1}'|awk -F"/" '{print $1}'`
yy=`echo $line|awk -F"," '{print $1}'|awk -F"/" '{print $3}'`
var=`echo $line|awk -F"," '{print $2}'`
var1=`echo... (2 Replies)
Discussion started by: nikhil jain
2 Replies
7. Shell Programming and Scripting
Hello Friends,
I need to find some CDRs in production servers whose 1st field value and 2nd field value = 1 and 11th looks like 45.123... where there are more than 3 digits after comma.so i wrote a one liner, something like below but does not work, however when i used first and second conditions... (8 Replies)
Discussion started by: EAGL€
8 Replies
8. Shell Programming and Scripting
awk 'BEGIN{
if('"$CATE"'<'"${WARN}"')
printf ("%s", "'"`Kfunc "" ; break`"'")
else if (('"${CATE}"'>='"${WARN}"') && ('"${CATE}"'<'"${CRIT}"'))
printf ("%s", "'"`Wfunc ""; break`"'")
else if ('"${CATE}"'>='"${CRIT}"')
printf... (6 Replies)
Discussion started by: SkySmart
6 Replies
9. Shell Programming and Scripting
Hi
I've been trying to get this to work but so far no luck.
#!/usr/bin/ksh
unset EXP
APP=$1
EXP=`sed -n "/${APP}/p" tIclrpt.out |awk '{print $7}'|sed '/^$/d'`
EXT=`sed -n "/${i}/p" ${SESLOG} |awk '{print $4}'|grep "${i}"`
EXEM=/path/to/fail
ACTI=/path/to/success
if ||
then... (10 Replies)
Discussion started by: techy1
10 Replies
10. Shell Programming and Scripting
Hi All ,
I am having a file like this
INPUT FILE
###############################
addfd_mjlala kksks sksks ks
annsns_bbox_2 (sksksk ksks )
adnndn_nsns_bbox_3 (( jsjsdj sjsj )
malm_dkdm lsls lsl
mdndk_mkmd_dkd_bbox_4_kdkd
ksksk skksk_bbox_jsj_KSK ((jsjsj jsjsj )... (2 Replies)
Discussion started by: kshitij
2 Replies
LEARN ABOUT PHP
filectime
FILECTIME(3) 1 FILECTIME(3)
filectime - Gets inode change time of file
SYNOPSIS
int filectime (string $filename)
DESCRIPTION
Gets the inode change time of a file.
PARAMETERS
o $filename
- Path to the file.
RETURN VALUES
Returns the time the file was last changed, or FALSE on failure. The time is returned as a Unix timestamp.
EXAMPLES
Example #1
A filectime(3) example
<?php
// outputs e.g. somefile.txt was last changed: December 29 2002 22:16:23.
$filename = 'somefile.txt';
if (file_exists($filename)) {
echo "$filename was last changed: " . date("F d Y H:i:s.", filectime($filename));
}
?>
ERRORS
/EXCEPTIONS
Upon failure, an E_WARNING is emitted.
NOTES
Note
Note: In most Unix filesystems, a file is considered changed when its inode data is changed; that is, when the permissions, owner,
group, or other metadata from the inode is updated. See also filemtime(3) (which is what you want to use when you want to create
"Last Modified" footers on web pages) and fileatime(3).
Note
Note also that in some Unix texts the ctime of a file is referred to as being the creation time of the file. This is wrong. There
is no creation time for Unix files in most Unix filesystems.
Note
Note that time resolution may differ from one file system to another.
Note
The results of this function are cached. See clearstatcache(3) for more details.
Tip
As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to "Supported Protocols and Wrappers" to determine
which wrappers support stat(3) family of functionality.
SEE ALSO
filemtime(3).
PHP Documentation Group FILECTIME(3)