kumar
kumar

Reputation: 11

search word and convert upper to lower case in multiple files Linux

i have bunch of files a directory, and i need to search word, which is in upper case and need to convert in lower case in same file.

for example :

ef1hccah.prm has as word "EF1HCCAH" , out of the word 1st 4 characters(EF1H) are common, last four characters is be different

now , i need to modify the word "EF1HCCAH" as "ef1hccah" in files

here are list of files

[oracle@linux1]$ grep -r  EF1H[A-Z] ef1h*
ef1hccah.prm:EXTRACT EF1HCCAH  
ef1hccnh.prm:EXTRACT EF1HCCNH
ef1hccsr.prm:EXTRACT EF1HCCSR
ef1hcsch.prm:EXTRACT EF1HCSCH
ef1hcscs.prm:EXTRACT EF1HCSCS
ef1hfadt.prm:EXTRACT EF1HFADT
ef1hfdap.prm:EXTRACT EF1HFDAP
ef1hfras.prm:EXTRACT EF1HFRAS
ef1hfrci.prm:EXTRACT EF1HFRCI
ef1hfrft.prm:EXTRACT EF1HFRFT
ef1hfrpi.prm:EXTRACT EF1HFRPI
ef1hfrpi.prm:EXTRACT EF1HFRPI
ef1hfrsc.prm:EXTRACT EF1HFRSC
ef1hfrve.prm:EXTRACT EF1HFRVE
ef1hidap.prm:EXTRACT EF1HIDAP
ef1hidnm.prm:EXTRACT EF1HIDNM
ef1himad.prm:EXTRACT EF1HIMAD
ef1himdd.prm:EXTRACT EF1HIMDD
ef1hisco.prm:EXTRACT EF1HISCO
ef1horcl.prm:EXTRACT EF1HORCL
ef1hsela.prm:EXTRACT EF1HSELA
ef1hsete.prm:EXTRACT EF1HSETE
ef1hseus.prm:EXTRACT EF1HSEUS

EF1HCCAH >> need to convert as ef1hccah EF1HSEUS >> need to convert as ef1hseus

please help me,

Thank you so much

Upvotes: 1

Views: 133

Answers (1)

Rakholiya Jenish
Rakholiya Jenish

Reputation: 3223

Using awk, you can do it as:

awk '/EF1H/{print $1 " " tolower($NF)}' filename

This one is specific only for input similar to the output that you showed.


Using sed:

sed -e 's/\b\(EF1H....\)\b/\L\1/g' filename

Or with perl:

perl -ne 's/\b(EF1H....)\b/lc($1)/e && print ' filename

This will change the EF1H.... to lower case.

Upvotes: 2

Related Questions