Sponsored Content
Full Discussion: Replacing nth occurence
Top Forums Shell Programming and Scripting Replacing nth occurence Post 302366345 by radoulov on Thursday 29th of October 2009 09:45:52 AM
Old 10-29-2009
Given your sample data this should work:

Code:
  awk '{ for (i=1; i<=NF; i++)
           $i = i % 2 ? $i : "cba"
        }1'

Be aware that the above code will squeeze consecutive FS characters.

With Perl:

Code:
perl -pe's/(\w+)/$c++%2?cba:$1/ge'

Code:
% print abc abc abc abc abc abc |
  awk '{ for (i=1; i<=NF; i++)      
           $i = i % 2 ? $i : "cba"
        }1'
abc cba abc cba abc cba
% print abc abc abc abc abc abc |
  perl -pe's/(\w+)/$c++%2?cba:$1/ge'
abc cba abc cba abc cba



---------- Post updated at 02:45 PM ---------- Previous update was at 02:45 PM ----------

Quote:
Originally Posted by methyl
Code:
echo "abc abc abc abc abc abc"|sed -e "s/abc abc/abc cba/g"
abc cba abc cba abc cba

Nice Smilie
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sed and replacing one occurence of pattern

I would like to use sed to replace one occurence of a pattern in a file. When I use the s/// command it replaces all occurences of the pattern in the file. Should I be using something other than sed? Thanks (6 Replies)
Discussion started by: ss9u
6 Replies

2. Shell Programming and Scripting

delete line upto the nth occurence of a particular charachter.

hi all i want to delete a line upto a particular character. here is example. cp cms/images/wifi-zone.png i want to delete the line till . (cp cms/images/wifi-zone.) so the output wud be "png" only how can i do it? also please note down that dot (.) can also occur multiple... (12 Replies)
Discussion started by: kashifv
12 Replies

3. Shell Programming and Scripting

Replace matching nth occurence

Hi for eg my file has: val1 | val2 | val1 | val2 | val1 | val2 | val1 | val2 | here i need to replace '|' with '|\n' where the occurence of '|' is divisble by 2 so that the output comes like this val1 | val2 | val1 | val2 | val1 | val2 | val1 | val2 | Requesting suggestions in... (1 Reply)
Discussion started by: raghav288
1 Replies

4. UNIX for Dummies Questions & Answers

To find the Nth Occurence of Search String

Hi guys, I like to find the Line number of Nth Occurence of a Search string in a file. If possible, if it will land the cursor to that particualar line will be great. Cheers!! (3 Replies)
Discussion started by: mac4rfree
3 Replies

5. Shell Programming and Scripting

Delete until Nth occurence (sed, awk)

Hello people, Once more I need your help with SED/AWK I need to delete up to the Nth occurence of a char (from the beggining) and until the Mth occurence of a char (from the end) Example: Input: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z Output: i,j Must delete up to the... (2 Replies)
Discussion started by: drbiloukos
2 Replies

6. Shell Programming and Scripting

[Solved] Find and replace till nth occurence of a special character

Hi, I have a requirement to search for a pattern in each line in a file and remove the in between words till the 3rd occurrence of double quote ("). Ex: CREATE TABLE "SCHEMANAME"."AMS_LTV_STATUS" (Note: "SCHEMANAME" may changes for different schemas. Its not a fixed value) I need to... (2 Replies)
Discussion started by: satyaatcgi
2 Replies

7. Shell Programming and Scripting

Grab nth occurence in between two patterns using awk or sed

Hi , I have an issue where I want to parse through the output from a file and I want to grab the nth occurrence of text in between two patterns preferably using awk or sed ! TICKET NBR : 1 !GSI : 102 ! 3100.2.112.1 11/06/2013 15:56:29 ! 3100.2.22.3 98 ! 3100.2.134.2... (8 Replies)
Discussion started by: OTNA
8 Replies

8. UNIX for Dummies Questions & Answers

Extract until nth occurence

Hi, I couldn't figure how to extract until last occurence of a character. I have the string ./dir1/file1/abc.sh The output should be /dir1/file1 So, the command should display the path until last occurence of "/". Thanks. (3 Replies)
Discussion started by: rajivn786
3 Replies

9. Shell Programming and Scripting

Get nth occurence of string from a file

I have file in which the data looks like this, 01,0000000,xxxxxxx/ 02,xxxxxxxx,yyyyyy/ 03,test1,41203016,,/ 01,0000000,xxxxxxx/ 02,xxxxxxxx,yyyyyy/ ... (16 Replies)
Discussion started by: r@v!7*7@
16 Replies

10. Shell Programming and Scripting

Delete after nth occurence of string in each line

Hello, Environment: I am under Ubuntu 18.04 bionic. I have an sql file consisting of 10K lines. Objective: What I am trying to attain is to remove everything coming after 2nd tab in each line. While searching for the answer, I found two answers and both gave expected result just for the first... (2 Replies)
Discussion started by: baris35
2 Replies
Imager::Preprocess(3pm) 				User Contributed Perl Documentation				   Imager::Preprocess(3pm)

NAME
Imager::Preprocess - simple preprocessor for handling multiple sample sizes SYNOPSIS
/* in the source: */ #code condition true to work with 8-bit samples ... code using preprocessor types/values ... #/code # process and make #line directives perl -MImager::Preprocess -epreprocess foo.im foo.c # process and no #line directives perl -MImager::Preprocess -epreprocess -l foo.im foo.c DESCRIPTION
This is a simple preprocessor that aims to reduce duplication of source code when implementing an algorithm both for 8-bit samples and double samples in Imager. Imager's "Makefile.PL" currently scans the MANIFEST for .im files and adds Makefile files to convert these to .c files. The beginning of a sample-independent section of code is preceded by: #code expression where expression should return true if processing should be done at 8-bits/sample. You can also use a #code block around a function definition to produce 8-bit and double sample versions of a function. In this case #code has no expression and you will need to use IM_SUFFIX() to produce different function names. The end of a sample-independent section of code is terminated by: #/code #code sections cannot be nested. #/code without a starting #code is an error. The following types and values are defined in a #code section: o IM_GPIX("im", "x", "y", &col) o IM_GLIN("im", "l", "r", "y", "colors") o IM_PPIX("im", "x", "y", &col) o IM_PLIN("im", "x", "y", "colors") o IM_GSAMP("im", "l", "r", "y", "samples", "chans", "chan_count") These correspond to the appropriate image function, eg. IM_GPIX() becomes i_gpix() or i_gpixf() as appropriate. o IM_ADAPT_COLORS("dest_channels", "src_channels", "colors", "count") Call i_adapt_colors() or i_adapt_fcolors(). o IM_FILL_COMBINE("fill") - retrieve the combine function from a fill object. o IM_FILL_FILLER("fill") - retrieve the fill_with_* function from a fill object. o IM_SAMPLE_MAX - maximum value for a sample o IM_SAMPLE_MAX2 - maximum value for a sample, squared o IM_SAMPLE_T - type of a sample (i_sample_t or i_fsample_t) o IM_COLOR - color type, either i_color or i_fcolor. o IM_WORK_T - working sample type, either int or double. o IM_Sf - format string for the sample type, "%d" or "%f". o IM_Wf - format string for the work type, "%d" or "%f". o IM_SUFFIX(identifier) - adds _8 or _double onto the end of identifier. o IM_EIGHT_BIT - this is a macro defined only in 8-bit/sample code. Other types, functions and values may be added in the future. AUTHOR
Tony Cook <tonyc@cpan.org> perl v5.14.2 2011-06-06 Imager::Preprocess(3pm)
All times are GMT -4. The time now is 08:38 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy