Rename with a different condition

 
Thread Tools Search this Thread
Homework and Emergencies Emergency UNIX and Linux Support Rename with a different condition
# 1  
Old 11-21-2016
Rename with a different condition

Hello

I have a file like this

Code:
a aa:::+
b aa:::+
c aa:::-
d ab:::+
e ab:::+
f ac:::+
g ac:::+
h ac:::-

Desired output


Code:
a aa:::+
b aa:::+
c aa.1:::-
d ab:::+
e ab:::+
f ac:::+
g ac:::+
h ac.1:::-

Logic
a. dont worry about column1.
b. in column2, after the tri-colon delimiter look at the plus (or) minus sign.
c. if the name (aa,ab...) before the tri-colon delimiter is same but is having a different sign compared to the other records with the same name, then append this records name with the occurrence number

Thanks
# 2  
Old 11-21-2016
What operating system are you using?

What shell are you using?

With well over 350 posts in this forum we would expect that you would have a very good idea of how to handle a request like this yourself! What have you tried to solve this problem on your own?
# 3  
Old 11-21-2016
Hi Don,

I did try this from an online search

Code:
awk 'cnt[$2]++{$2=$2":::"cnt[$2]-1} 1'

But it doesn't take the plus or minus sign into consideration.
# 4  
Old 11-21-2016
Quote:
Originally Posted by jacobs.smith
Hi Don,

I did try this from an online search

Code:
awk 'cnt[$2]++{$2=$2":::"cnt[$2]-1} 1'

But it doesn't take the plus or minus sign into consideration.
Moderator's Comments:
Mod Comment You didn't answer the first two questions I asked at all. And, the real answer to the third question appears to be that you did not make any attempt to solve this problem on your own. The code you found on your online search does not meet any of your requirements and you clearly did not make any attempt to solve this problem using what you had learned from the help you have been provided in this forum for almost five years.

You have asked 140 questions and gotten answers to 139 of them that were intended to help you learn how to use the shell, awk, and other tools; but instead of trying to learn anything about how to write your own code, you seem to think of The UNIX & Linux Forums as your unpaid programming staff despite being warned that you would be banned if you continued this behavior.

You are hereby banned from this site.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using rename

Renaming files using rename on the following files rename 's/.99999/.99999.sac.pzs/g' *.99999 sac_pzs_iv_esml_hhz__2013.074.10.18.23.0000_2599.365.23.59.59.99999 sac_pzs_iv_favr_hhe__2010.187.00.00.00.0000_2599.365.23.59.59.99999... (1 Reply)
Discussion started by: kristinu
1 Replies

2. UNIX for Dummies Questions & Answers

Using rename

I want to rename files Files show like this 1977SSD_rsdtst.pdf 1976SDP_rstdtsr.pdf 1943FDT_rstdsrt.pdf 1996DFF_stdstrd.pdf I want to introduce _ after the year, and move the characters to the end to get 1977_rsdtst_SSD.pdf 1976_rstdtsr_SDP.pdf 1943_rstdsrt_FDT.pdf... (4 Replies)
Discussion started by: kristinu
4 Replies

3. Shell Programming and Scripting

If condition return 0 even when it fails to satisfy te condition

HI My doubt may be basic one but I need to get it clarified.. When i use "if" condition that checks for many AND, OR logical conditions like if ]; then return 0 fi Even the if condition fails it returns as zero.. Any clue.. But if i add else condition like if ]; ... (2 Replies)
Discussion started by: Priya Amaresh
2 Replies

4. Shell Programming and Scripting

redirect stdout echo command in condition A run in condition B

hi, I have some problems in my simple script about the redirect echo stdout command inside a condition. Why is the echo command inside the elif still execute in the else command Here are my simple script After check on the two diff output the echo stdout redirect is present in two diff... (3 Replies)
Discussion started by: jao_madn
3 Replies

5. HP-UX

Difference between [condition] and [[condition]] and ((condition)) when used with if condition

Executed the following if conditions .. and got different results . only (( )) gave correct o/p with all scenarios . Can anybody please let me know what is the difference between and ] and ((condition)) when used with if condition. And why each condition gave different result. 1.... (2 Replies)
Discussion started by: soumyabubun
2 Replies

6. Shell Programming and Scripting

If(Condition) Rename a file with (Date+Time) Stamp

Hi! Please see our current script: #!/usr/bin/ksh if (egrep "This string is found in the log" /a01/bpm.log) then mailx -s "Error from log" me@email.com, him@email.com </a01/bpm.log fi To the above existing script, we need to add the following change: 1) After finding the string,... (7 Replies)
Discussion started by: atechcorp
7 Replies

7. UNIX for Dummies Questions & Answers

need help with rename

hi guys i am writing a script to change the filename which is enterered as input to lower case letter even if one letter is upper case i have to change it to lower case i get the input and use sed comand should i use like that sed/s/a-z/A-Z/d will it be like that can u please help me (8 Replies)
Discussion started by: farhan_t49
8 Replies

8. Shell Programming and Scripting

rename

hi, im doin an assignment which requires you to build a shell script to do the MS DOS style equivilant (sp?) of the rename function. What i have to do is a loop which checks the following rules and output messages (same): Can't have anything after target Can't have more than one dot Can't... (1 Reply)
Discussion started by: bohoo
1 Replies

9. UNIX for Dummies Questions & Answers

how can I rename the following=-^

I have a file named -^, I want to look at it, rename, etc. Any help out there?? (5 Replies)
Discussion started by: nj78
5 Replies

10. UNIX for Dummies Questions & Answers

rename using mv ?

Hi all how can can remove the underscore from this number in this series _1234567.abc _1234567.abcd I was trying mv _1234567* 1234567 but did not work ? thanks s (2 Replies)
Discussion started by: simon2000
2 Replies
Login or Register to Ask a Question