Sponsored Content
Top Forums Shell Programming and Scripting How can I extract digits at the end of a string in UNIX shell scripting? Post 303026270 by bakunin on Friday 23rd of November 2018 04:34:12 AM
Old 11-23-2018
Quote:
Originally Posted by mingch
I tried to create the following scripts but it can't increment the last number from 012 to 013, anyone help? Many thanks.
The reason is that "012" is not a number. "12" is a number and you can increment that to "13". But "012" and "013" are strings and you cannot do calculations with strings.

You haven't told us yet what your shell is and in fact it didn't matter that much because what we did up to now was common ground to all of them. We are leaving this area and maybe i will tell you something you can't use because you have a different shell - which is why you should always state what your environment (OS and shell and their versions most prominently) is.

In Korn shell (ksh) you can use typeset to make a variable have leading zeroes and having a certain length like this (try it on the command line):

Code:
$ typeset -RZ3 variable=12
$ echo $variable
012
$ (( variable += 1 ))
$ echo $variable
013

Variables in shell do not really have a certain "type". Of course it will lead to an error if you try to multiply "abc" by 3 but if you create a string "ab12cd", then somehow (you now know how) get rid of the characters you can multiply the remaining "12" and it will give you "60", which you still can use as a string. What we did above was to create a string, right-aligned (-R) in the length of 3 where every "free"space is filled with zeroes. When we calculate with it like a number, the shell will silently drop the leading zeroes to make the number "12" from "012", then do the calculation and, when writing the result back, realign and refill it (because of the typeset directive, so that "013" is the final content.

I hope this helps.

bakunin
This User Gave Thanks to bakunin For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract digits at end of string

I have a string like xxxxxx44. What's the best way to extract the digits (one or more) in a ksh script? Thanks (6 Replies)
Discussion started by: offirc
6 Replies

2. Shell Programming and Scripting

Need UNIX shell scripting end to end information

Hi, I would like to learn shell scripting in UNIX. Can any one please give me the support and share the information/documents with me. If any documents please post it to aswanikumar_nimmagadda@yahoo.co.in Thanks in advance...!!! (3 Replies)
Discussion started by: aswani_n
3 Replies

3. Shell Programming and Scripting

Search and remove digits (if exist) from end of the string

Hi Experts, Here is what I am trying to do. 1) say I have a file with below strings database1 database2 database3 data10gdb1 data10gdb2 databasewithoutdigit 2) I want to get the below output. (- if there is any digit at the end of the string, I need to remove it) (- Any... (3 Replies)
Discussion started by: shail_boy
3 Replies

4. Shell Programming and Scripting

extract digits from a string in unix

Hi all, i have such string stored in a variable var1 = 00000120 i want the o/p var1 = 120 is it possible to have such o/p in ksh/bash ... thanx in advance for the help sonu (3 Replies)
Discussion started by: sonu_pal
3 Replies

5. Shell Programming and Scripting

help with Scripting - trying to search for string and extract next few characters

Hi I am new to world on unix scripting so any assistance would be gratefully appreciated, I am trying to write a script which reads through a file, reads in line by line, searches for a pattern, copies string after it and then to do a search and replace elsehwere in the line, so the... (7 Replies)
Discussion started by: LonJ_80
7 Replies

6. Shell Programming and Scripting

BASH: remove digits from end of string

Hi there, im sure this is really simple but i have some strings like this e1000g123001 e1000g0 nge11101 nge3and i want to create two variables ($DRIVER and $INSTANCE). the first one containing the alpha characters that make up the first part of the string, e.g. e1000g or nge and the... (9 Replies)
Discussion started by: rethink
9 Replies

7. Shell Programming and Scripting

How to add trailer record at the end of the flat file in the unix ksh shell scripting?

Hi, How to add trailer record at the end of the flat file in the unix ksh shell scripting can you please let me know the procedure Regards Srikanth (3 Replies)
Discussion started by: srikanth_sagi
3 Replies

8. Shell Programming and Scripting

How to extract text from STRING to end of line?

Hi I have a very large data file with several hundred columns and millions of lines. The important data is in the last set of columns with variable numbers of tab delimited fields in front of it on each line. Im currently trying sed to get the data out - I want anything beetween :RES and... (4 Replies)
Discussion started by: Manchesterpaul
4 Replies

9. UNIX for Dummies Questions & Answers

Extract directory name from the full directory path in UNIX using shell scripting

My input is as below : /splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt /splunk/scrubbed/rebate/IFIND.REBTE.WROC.txt /splunk/scrubbed/loyal/IFIND.HELLO.WROC.txt /splunk/scrubbed/triumph/ifind.triumph.txt From the above input I want to extract the file names only . Basically I want to... (5 Replies)
Discussion started by: IshuGupta
5 Replies

10. Shell Programming and Scripting

Extract n-digits from string in perl

Hello, I have a log file with logs such as 01/05/2017 10:23:41 : file.log.38: database error, MODE=SINGLE, LEVEL=critical, STATE: 01170255 (mode main how can i use perl to extract the 8-digit number below from the string 01170255 Thanks (7 Replies)
Discussion started by: james2009
7 Replies
MAC-VENDOR(5)							File Formats Manual						     MAC-VENDOR(5)

NAME
mac-vendor - Ethernet vendor file for arp-scan SYNOPSIS
mac-vendor.txt DESCRIPTION
The mac-vendor.txt contains Ethernet MAC to vendor string mappings for arp-scan. It is used in addition to the IEEE OUI and IAB listings in ieee-oui.txt and ieee-iab.txt. It is for MAC-vendor mappings that are not covered by the IEEE manufacturer listings. Each line in the mac-vendor.txt file contains a MAC-vendor mapping in the form: <MAC-Prefix><TAB><Vendor> Where <MAC-Prefix> is the prefix of the MAC address in hex, and <Vendor> is the name of the vendor. The prefix can be of any length from two hex digits (one octet) to twelve hex digits (six octets, the entire Ethernet hardware address). The alphabetic hex characters [A-F] must be entered in upper case. For example: 012345 would match 01:23:45:xx:xx:xx, where xx represents any value; 0123456 would match 01:23:45:6x:xx:xx; and 01234567 would match 01:23:45:67:xx:xx. Blank lines and lines beginning with "#" are ignored. The order of entries in the file is not important. arp-scan will attempt to match larger prefixes before trying to match smaller ones, and will stop at the first match. FILES
/usr/local/share/arp-scan/mac-vendor.txt EXAMPLE
# From nmap Debian bug report #369681 dated 31 May 2006 525400 QEMU B0C420 Bochs # From RFC 2338: 00-00-5E-00-01-{VRID} 00005E0001 VRRP (last octet is VRID) # Microsoft WLBS (Windows NT Load Balancing Service) # http://www.microsoft.com/technet/prodtechnol/acs/reskit/acrkappb.mspx 02BF Microsoft WLBS (last four octets are IP address) AUTHOR
Roy Hills <Roy.Hills@nta-monitor.com> SEE ALSO
arp-scan(1) get-oui(1) get-iab(1) arp-fingerprint(1) http://www.nta-monitor.com/wiki/ The arp-scan wiki page. March 30, 2007 MAC-VENDOR(5)
All times are GMT -4. The time now is 12:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy