12-29-2011
abc@abc$ sh -x demo.ksh 2 6 7 8 11 12 18 25 26 27
prevval=2
+ shift
seqflag=N
+ expr 2 + 1
nextval=3
+ echo $nextval=3
$nextval=3
+ [ 6 -eq 3 ]
+ [ N = N ]
output=,2
prevval=6
+ expr 6 + 1
nextval=7
+ echo $nextval=7
$nextval=7
+ [ 7 -eq 7 ]
+ [ N = N ]
seqflag=Y
seqstart=6
prevval=7
+ expr 7 + 1
nextval=8
+ echo $nextval=8
$nextval=8
+ [ 8 -eq 8 ]
+ [ Y = N ]
prevval=8
+ expr 8 + 1
nextval=9
+ echo $nextval=9
$nextval=9
+ [ 11 -eq 9 ]
+ [ Y = N ]
seqflag=N
output=,2,6-8
prevval=11
+ expr 11 + 1
nextval=12
+ echo $nextval=12
$nextval=12
+ [ 12 -eq 12 ]
+ [ N = N ]
seqflag=Y
seqstart=11
prevval=12
+ expr 12 + 1
nextval=13
+ echo $nextval=13
$nextval=13
+ [ 18 -eq 13 ]
+ [ Y = N ]
seqflag=N
output=,2,6-8,11-12
prevval=18
+ expr 18 + 1
nextval=19
+ echo $nextval=19
$nextval=19
+ [ 25 -eq 19 ]
+ [ N = N ]
output=,2,6-8,11-12,18
prevval=25
+ expr 25 + 1
nextval=26
+ echo $nextval=26
$nextval=26
+ [ 26 -eq 26 ]
+ [ N = N ]
seqflag=Y
seqstart=25
prevval=26
+ expr 26 + 1
nextval=27
+ echo $nextval=27
$nextval=27
+ [ 27 -eq 27 ]
+ [ Y = N ]
prevval=27
+ [ Y = N ]
output=,2,6-8,11-12,18,25-27
demo.ksh: bad substitution
abc@abc$
---------- Post updated at 06:32 PM ---------- Previous update was at 06:31 PM ----------
i had make the correction as below
nextval=`expr $prevval + 1`
echo "\$nextval=$nextval"
but still getting error, you can see on above my post.
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi,
I am new for unix and I am following ABS guide. What is the purpose of - (hypen ) in the below command and What it will do in this?. Can anyone explain it in detail. Rest of the things in the below command I understood somewhat.
(cd /source/directory && tar cf - . ) | (cd /dest/directory &&... (1 Reply)
Discussion started by: gwgreen1
1 Replies
2. Shell Programming and Scripting
Hi All,
I need a shell script which could insert a sequence number column inside a dat file(pipe delimited).
I have the dat file similar to the one as shown below..
|A|B|C||D|E
|F|G|H||I|J
|K|L|M||N|O
|P|Q|R||S|T
As shown above, the column 4 is currently blank and i need to insert sequence... (5 Replies)
Discussion started by: nithins007
5 Replies
3. Shell Programming and Scripting
Dear Perl users,
I need your help to solve my problem below.
I want to print the sequence number without missing number within the range.
E.g. my sequence number :
1 2 3 4 5 6 7 8 11 12 13 14
my desired output:
1 -8 , 11-14
my code below but still problem with the result:
1 - 14
1 -... (2 Replies)
Discussion started by: mandai
2 Replies
4. Shell Programming and Scripting
Am using unix aix KSH...
I have the files called
MMRR0106.DAT
MMRR0206.DAT
MMRR0406.DAT
MMRR0506.DAT
MMRR0806.DAT
....
...
MMRR3006.DAT
MMRR0207.DAT
These files are in one dircetory /venky ?
I want the output like this ?
Missing files are :
MMRR0306.DAT
MMRR0606.DAT... (7 Replies)
Discussion started by: Venkatesh1
7 Replies
5. Shell Programming and Scripting
Hi all,
I have a file like this
ID 3BP5L_HUMAN Reviewed; 393 AA.
AC Q7L8J4; Q96FI5; Q9BQH8; Q9C0E3;
DT 05-FEB-2008, integrated into UniProtKB/Swiss-Prot.
DT 05-JUL-2004, sequence version 1.
DT 05-SEP-2012, entry version 71.
FT COILED 59 140 ... (1 Reply)
Discussion started by: manigrover
1 Replies
6. UNIX for Advanced & Expert Users
Dear All members,
i have some trouble here, i want to ask your help. The case is:
I have some data, it's like:
-ABCD1234
-ABCD1235
-ABCD1237
-BCDE1111
-BCDE1112
-BCDE1114
there is some missing data's sequence (the format is: ABCD = name 1234 = sequence).
I want to print the... (2 Replies)
Discussion started by: septian.tri
2 Replies
7. Shell Programming and Scripting
Hi,
I have two files separated by bars at each line
File 1 :
A|4356|13456|23456
A|4356|2986|98732
A|8765|218|1432567
File 2:
B|12|13456|1234567
B|11|13456|123456789
B|33|2986|98732
B|11|2986|14578965
B|8765|218|147584
Common field is third field like 13456, 2986 and 218 in both... (5 Replies)
Discussion started by: Mannu2525
5 Replies
8. Shell Programming and Scripting
I have a shell script scheduled in cron job to run at every 1 minute which transfers files to remote machine and then move the files to backup folder.
cd /u01/app/ftp_tmp
sftp user@hostname <<-EOF
cd /home/user/ftp
mput *
bye
EOF
mv /u01/app/ftp_tmp/* /u01/app/ftp_bkp
Now the problem is... (6 Replies)
Discussion started by: Bhavi
6 Replies
9. UNIX for Beginners Questions & Answers
Like to have shell script to Read the given file contents into a merged one file with header of path+file name followed by file contents into a single output file.
While reading and merging the file contents into a single file, Like to keep the format of the source file.
... (4 Replies)
Discussion started by: Siva SQL
4 Replies
10. UNIX for Beginners Questions & Answers
Hi i have a file like this as shown below:
DA PROCESS_ID IDENTIFIER DA_FILE STATUS WAITING_FOR SCOPED_DEPENDENT
1836 21000 01052019 BH90P.TEMP.DA1836.FTP W NULL ... (6 Replies)
Discussion started by: krishnaswarnkar
6 Replies
TEST(1) General Commands Manual TEST(1)
NAME
test - set status according to condition
SYNOPSIS
test expr
DESCRIPTION
Test evaluates the expression expr. If the value is true the exit status is null; otherwise the exit status is non-null. If there are no
arguments the exit status is non-null.
The following primitives are used to construct expr.
-r file True if the file exists (is accessible) and is readable.
-w file True if the file exists and is writable.
-x file True if the file exists and has execute permission.
-e file True if the file exists.
-f file True if the file exists and is a plain file.
-d file True if the file exists and is a directory.
-s file True if the file exists and has a size greater than zero.
-t fildes True if the open file whose file descriptor number is fildes (1 by default) is the same file as /dev/cons.
s1 = s2 True if the strings s1 and s2 are identical.
s1 != s2 True if the strings s1 and s2 are not identical.
s1 True if s1 is not the null string. (Deprecated.)
-n s1 True if the length of string s1 is non-zero.
-z s1 True if the length of string s1 is zero.
n1 -eq n2 True if the integers n1 and n2 are arithmetically equal. Any of the comparisons -ne, -gt, -ge, -lt, or -le may be used in place
of -eq. The (nonstandard) construct -l string, meaning the length of string, may be used in place of an integer.
These primaries may be combined with the following operators:
! unary negation operator
-o binary or operator
-a binary and operator; higher precedence than -o
( expr ) parentheses for grouping.
The primitives -b, -u, -g, and -s return false; they are recognized for compatibility with POSIX.
Notice that all the operators and flags are separate arguments to test. Notice also that parentheses and equal signs are meaningful to rc
and must be enclosed in quotes.
EXAMPLES
Test is a dubious way to check for specific character strings: it uses a process to do what an rc(1) match or switch statement can do. The
first example is not only inefficient but wrong, because test understands the purported string "-c" as an option.
if (test $1 '=' "-c") echo OK # wrong!
A better way is
if (~ $1 -c) echo OK
Test whether is in the current directory.
test -f abc -o -d abc
SOURCE
/sys/src/cmd/test.c
SEE ALSO
rc(1)
TEST(1)