Sponsored Content
Top Forums Shell Programming and Scripting Replace all string matches in file with unique random number Post 303024269 by funkman on Friday 5th of October 2018 03:42:23 AM
Old 10-05-2018
Replace all string matches in file with unique random number

Hello
Take this file...
Code:
Test01
Ref test
Version 01

Test02
Ref test
Version 02

Test66
Ref test
Version 66

Test99
Ref test
Version 99

I want to substitute every occurrence of Test[0-9]{2} with a unique random number, so for example, if I was using sed, substitution would be something like the below but obviously the below does reevaluate the random number for each occurrence of Test[0-9]{2}
Code:
num=$((1+RANDOM 20 % 60))
sed -ri "s/Test[0-9]{2}/Test${num}/" test_file

So on the execution of substitution, the file would read something like
Code:
Test59
Ref test
Version 01

Test57
Ref test
Version 02

Test48
Ref test
Version 66

Test51
Ref test
Version 99

Moderator's Comments:
Mod Comment Please use CODE tags when displaying sample input and sample output as well as when displaying code segments.

Last edited by MadeInGermany; 10-05-2018 at 09:03 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Replace a certain string with string containing random rubbish

Hello, in my shell script i have some multi-line text in a variable $TEMP - f.e. blablahblah blah blah bla TARGET hgloglo And i need to replace TARGET with text from another variable ($REPLACE), which is containing some text with nasty characters (\n, ", :, etc.) And stuff the altered text... (2 Replies)
Discussion started by: MilanCZ
2 Replies

2. Shell Programming and Scripting

Replace a random string of numbers

Hi Can someone help me with this one? I have string.. (PROC_PROC_ID == 12183) <--PID is dynamic and i want to replace the PID number with whatever PID from /opt/hpws/apache32_2/logs/httpd.pid file. i'm having problem since the PID on the string is dynamic. It may be 2-5 digits or more. ... (5 Replies)
Discussion started by: ryandegreat25
5 Replies

3. UNIX for Dummies Questions & Answers

Sed to replace second number in a random string

I need a sed line that will take STDM111 and change it to STDM161 the STDM will always be constant but the 3 numbers after will be random, I just need it to always replace the middle number with 6 regardless of what the numbers are. (8 Replies)
Discussion started by: glev2005
8 Replies

4. Shell Programming and Scripting

Get line number when matches a string

If I have a file something like as shown below, ARM*187878*hjhj BAG*88778*jjjj COD*7777*kkkk BAG*87878*kjjhjk DEF*65656*89989*khjkk I need the line numbers to be added with a colon when it matches the string "BAG". Here in my case, I need something like ARM*187878*hjhj... (4 Replies)
Discussion started by: Muthuraj K
4 Replies

5. Shell Programming and Scripting

Using SED to replace a random number?

Hi all, I need to run a number of scripts which have a certain phrase on them so I have identified these by; grep -l 100 *script | sort -u Normally I could just run something along the lines of; for i in `grep -l 100 *script | sort -u`; do ./${i}; done However before I run each of... (0 Replies)
Discussion started by: JayC89
0 Replies

6. Shell Programming and Scripting

Replace 2nd column for each line in a csv file with fixed string+random number

Hi experts, My csv file looks like this U;cake;michael;temp;;;; U;bread;john;temp;;;; U;cocktails;sarah;temp;;;; I'd like to change the value fo 2nd column to cf+random number , which will look maybe something like this U;cf20187;michael;temp;;;; U;cf8926;john;temp;;;;... (7 Replies)
Discussion started by: tententen
7 Replies

7. Shell Programming and Scripting

Replace column by random number addition

Here is my problem:- I have a file with pipe separated values. CR|20121021|079|ABC|N|DLS|00038|DLS|04750|1330597704|634234|634|0 CR|20121021|079|ABC|N|DLS|00038|DLS|05118|2071690102|354|351|3 CR|20121021|079|ABC|N|DLS|00038|DLS|05140|960051505|1088|1088|0... (4 Replies)
Discussion started by: Yoda
4 Replies

8. Shell Programming and Scripting

Help in printing n number of lines if a search string matches in a file

Hi I have below script which is used to grep specific errors and if error string matches send an email alert. Script is working fine , however , i wish to print next 10 lines of the string match to get the details of error in the email alert Current code:- #!/bin/bash tail -Fn0 --retry... (2 Replies)
Discussion started by: neha0785
2 Replies

9. Shell Programming and Scripting

Replace string of a file with a string of another file for matches using grep,sed,awk

I have a file comp.pkglist which mention package version and release . In 'version change' and 'release change' line there are two versions 'old' and 'new' Version Change: --> Release Change: --> cat comp.pkglist Package list: nss-util-devel-3.28.4-1.el6_9.x86_64 Version Change: 3.28.4 -->... (1 Reply)
Discussion started by: Paras Pandey
1 Replies

10. UNIX for Beginners Questions & Answers

Replace matches string in each line with the arrayvalue in shell

I have a list of value , and need to replace that in my file. Eg: File1 tcname:fail tcname: Pass tcname:skipped File2: 01,02,03 Output: File 1 01:fail 02: Pass 03:Skipped (8 Replies)
Discussion started by: DevAakash
8 Replies
MakeMethods::Utility::Ref(3pm)				User Contributed Perl Documentation			    MakeMethods::Utility::Ref(3pm)

NAME
Class::MakeMethods::Utility::Ref - Deep copying and comparison SYNOPSIS
use Class::MakeMethods::Utility::Ref qw( ref_clone ref_compare ); $deep_copy = ref_clone( $original ); $positive_zero_or_negative = ref_compare( $item_a, $item_b ); DESCRIPTION
This module provides utility functions to copy and compare arbitrary references, including full traversal of nested data structures. REFERENCE The following functions are provided: ref_clone() Make a recursive copy of a reference. ref_compare() Attempt to recursively compare two references. If they are not the same, try to be consistent about returning a positive or negative number so that it can be used for sorting. The sort order is kinda arbitrary. SEE ALSO
See Class::MakeMethods for general information about this distribution. See Ref for the original version of the clone and compare functions used above. See Clone (v0.09 on CPAN as of 2000-09-21) for a clone method with an XS implementation. The Perl6 RFP #67 proposes including clone functionality in the core. See Data::Compare (v0.01 on CPAN as of 1999-04-24) for a Compare method which checks two references for similarity, but it does not provide positive/negative values for ordering purposes. perl v5.10.1 2004-09-06 MakeMethods::Utility::Ref(3pm)
All times are GMT -4. The time now is 10:20 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy