Sponsored Content
Top Forums Shell Programming and Scripting How i can add via preg replace dot after numbers ? Post 302993553 by Scrutinizer on Saturday 11th of March 2017 04:18:02 AM
Old 03-11-2017
The expensive way, easy to remember using GNU sed:
Code:
sed 's/[0-9]\B/&./g'

Code:
var=my_birthday.402.zip
echo "$var" | sed 's/[0-9]\B/&./g'





--
or using shell grammar, complicated but more efficient, if it is always 3 digits:
Code:
var=my_birthday.402.zip
tmpvar=${var%[0-9]*}
echo "${var%[0-9][0-9]*}.${tmpvar#"${var%[0-9][0-9]*}"}.${var#*[0-9][0-9]}"


Last edited by Scrutinizer; 03-11-2017 at 05:37 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace path in a file with dot

Hi, I have a file with below values. /uvxapps/etl/Ascential/DataStage/DSEngine/dsenv.orig /uvxapps/etl/Ascential/DataStage/DSEngine/dsenv /uvxapps/etl/Ascential/DataStage/DSEngine/sample/.cshrc /uvxapps/etl/Ascential/DataStage/DSEngine/sample/.login... (3 Replies)
Discussion started by: njoshi
3 Replies

2. Shell Programming and Scripting

Greping numbers with dot in it

Hi, I wanted to create a script what would take two numbers out of two files and add them together, but I got stuck with greping numbers what have a dot in it. So far I have grepped the two lines what include the numbers I need (from both files) to a third file and from that file I try to... (7 Replies)
Discussion started by: mario8eren
7 Replies

3. UNIX for Dummies Questions & Answers

Replace US numbers with European numbers

hey, I have a file with numbers in US notation (1,000,000.00) as well as european notation (1.000.000,00) i want all the numbers to be in european notation. the numbers are in a text file, so to prevent that the regex also changes the commas in a sentence/text i thought of: sed 's/,/\./'... (2 Replies)
Discussion started by: FOBoy
2 Replies

4. Shell Programming and Scripting

How to replace quote symbol(") and dot(.) with some other values!!

Hi , I have below input file 1.order number is useful. 2.vendor_id is produced. 3.the vandor name is "malawar". I want output file like 1. order number is useful. 2. vendor_id is produced. 3. the vandor name is VmalawarV. in input file line number 1.order number there is no... (4 Replies)
Discussion started by: vinothsekark
4 Replies

5. Shell Programming and Scripting

Replace dot with semicolon in PERL

Hi, I have a file in PERL in the following pattern filename| 06-Dec-11 03.04.14.000000 PM filename1| 06-Dec-11 05.05.14.000000 PM I need to replace .(dot) with :(semicolon) in the timestamp value of the file How can this be done. Any help will be appreciated Thanks in advance (5 Replies)
Discussion started by: irudayaraj
5 Replies

6. Shell Programming and Scripting

Awk/sed - add space between dot and letter

I need to change . into . so that e.g. A.Jbecomes A. JI have tried sed 's/\./\.\ /g' but that didn't work. (9 Replies)
Discussion started by: locoroco
9 Replies

7. UNIX for Dummies Questions & Answers

How can I replace the lines that start with a star and replace it with numbers start from 1?

I need to replace the (*) in the fist of a list with numbers using sed for example > this file contain a list * linux * computers * labs * questions to >>>> this file contain a list 1. linux 2. computers 3. labs 4. questions (7 Replies)
Discussion started by: aalbazie
7 Replies

8. Shell Programming and Scripting

sed - search and replace whole string which contains dot

Hello. I would like to search exactly "string1.string2.string3" and replace it by "new_string1.new_string2.new_string3" And I would like to search exactly "string2.string3" and replace it by "new_string2.new_string3" And I would not found in the result : "string1.new_string2.new_string3"... (3 Replies)
Discussion started by: jcdole
3 Replies

9. Shell Programming and Scripting

Replace null values with dot using awk

Using awk I am trying to replace all blank or null values with a . in the tad delimited input. I hope the awk is close. Thank you :). input name test sam 1 liz 2 al 1 awk awk 'BEGIN{FS=OFS="\t"}{for(i=1;++i<NF;)$i=$i?$i:"."}1'input awk 'BEGIN { FS =... (6 Replies)
Discussion started by: cmccabe
6 Replies

10. Shell Programming and Scripting

Ommit the numbers or any characters only at 8th columns after the dot (.).

Ommit the numbers or any characters only at 7th or 8th columns after the dot (.) . Since the group column has 1 and 2 spaces. Thanks -rw-r--r--. 1 user1 domain users 619 2017-04-13 16:16:50.284598383 +0000 aa drwxr-xr-x. 2 root root 6 2017-05-08... (8 Replies)
Discussion started by: invinzin21
8 Replies
FindRef(3pm)						User Contributed Perl Documentation					      FindRef(3pm)

NAME
Devel::FindRef - where is that reference to my variable hiding? SYNOPSIS
use Devel::FindRef; print Devel::FindRef::track $some_variable; DESCRIPTION
Tracking down reference problems (e.g. you expect some object to be destroyed, but there are still references to it that keep it alive) can be very hard. Fortunately, perl keeps track of all its values, so tracking references "backwards" is usually possible. The "track" function can help track down some of those references back to the variables containing them. For example, for this fragment: package Test; use Devel::FindRef; use Scalar::Util; our $var = "hi "; my $global_my = $var; our %global_hash = (ukukey => $var); our $global_hashref = { ukukey2 => $var }; sub testsub { my $testsub_local = $global_hashref; print Devel::FindRef::track $var; } my $closure = sub { my $closure_var = $_[0]; Scalar::Util::weaken (my $weak_ref = $var); testsub; }; $closure->($var); The output is as follows (or similar to this, in case I forget to update the manpage after some changes): SCALAR(0x7cc888) [refcount 6] is +- referenced by REF(0x8abcc8) [refcount 1], which is | in the lexical '$closure_var' in CODE(0x8abc50) [refcount 4], which is | +- the closure created at tst:18. | +- referenced by REF(0x7d3c58) [refcount 1], which is | | in the lexical '$closure' in CODE(0x7ae530) [refcount 2], which is | | +- the containing scope for CODE(0x8ab430) [refcount 3], which is | | | in the global &Test::testsub. | | +- the main body of the program. | +- in the lexical '&' in CODE(0x7ae530) [refcount 2], which was seen before. +- referenced by REF(0x7cc7c8) [refcount 1], which is | in the lexical '$global_my' in CODE(0x7ae530) [refcount 2], which was seen before. +- in the global $Test::var. +- referenced by REF(0x7cc558) [refcount 1], which is | in the member 'ukukey2' of HASH(0x7ae140) [refcount 2], which is | +- referenced by REF(0x8abad0) [refcount 1], which is | | in the lexical '$testsub_local' in CODE(0x8ab430) [refcount 3], which was seen before. | +- referenced by REF(0x8ab4f0) [refcount 1], which is | in the global $Test::global_hashref. +- referenced by REF(0x7ae518) [refcount 1], which is | in the member 'ukukey' of HASH(0x7d3bb0) [refcount 1], which is | in the global %Test::global_hash. +- referenced by REF(0x7ae2f0) [refcount 1], which is a temporary on the stack. It is a bit convoluted to read, but basically it says that the value stored in $var is referenced by: - the lexical $closure_var(0x8abcc8), which is inside an instantiated closure, which in turn is used quite a bit. - the package-level lexical $global_my. - the global package variable named $Test::var. - the hash element "ukukey2", in the hash in the my variable $testsub_local in the sub "Test::testsub" and also in the hash "$referenced by Test::hash2". - the hash element with key "ukukey" in the hash stored in %Test::hash. - some anonymous mortalised reference on the stack (which is caused by calling "track" with the expression "$var", which creates the reference). And all these account for six reference counts. EXPORTS
None. FUNCTIONS
$string = Devel::FindRef::track $ref[, $depth] Track the perl value pointed to by $ref up to a depth of $depth and return a descriptive string. $ref can point at any perl value, be it anonymous sub, hash, array, scalar etc. This is the function you most often use. @references = Devel::FindRef::find $ref Return arrayrefs that contain [$message, $ref] pairs. The message describes what kind of reference was found and the $ref is the reference itself, which can be omitted if "find" decided to end the search. The returned references are all weak references. The "track" function uses this to find references to the value you are interested in and recurses on the returned references. $ref = Devel::FindRef::ptr2ref $integer Sometimes you know (from debugging output) the address of a perl scalar you are interested in (e.g. "HASH(0x176ff70)"). This function can be used to turn the address into a reference to that scalar. It is quite safe to call on valid addresses, but extremely dangerous to call on invalid ones. # we know that HASH(0x176ff70) exists, so turn it into a hashref: my $ref_to_hash = Devel::FindRef::ptr2ref 0x176ff70; $ref = Devel::FindRef::ref2ptr $reference The opposite of "ptr2ref", above: returns the internal address of the value pointed to by the passed reference. No checks whatsoever will be done, so don't use this. ENVIRONMENT VARIABLES
You can set the environment variable "PERL_DEVEL_FINDREF_DEPTH" to an integer to override the default depth in "track". If a call explicitly specified a depth it is not overridden. AUTHOR
Marc Lehmann <pcg@goof.com>. COPYRIGHT AND LICENSE
Copyright (C) 2007, 2008 by Marc Lehmann. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2009-08-30 FindRef(3pm)
All times are GMT -4. The time now is 01:06 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy