我有一堆文件的一个目录,我需要搜索单词,这是在大写,并需要转换为小写在同一文件中。
例如:
ef1hccah.prm作为单词"EF1HCCAH“,前4个字符(EF1H)比较常见,后4个字符是不同的
现在,我需要在文件中将单词"EF1HCCAH“修改为"ef1hccah”
以下是文件列表
[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 EF1HSEUSEF1HCCAH >>需要转换为ef1hccah EF1HSEUS >>需要转换为ef1hseus
请帮帮我,
非常感谢
发布于 2015-06-29 05:14:19
使用awk,您可以这样做:
awk '/EF1H/{print $1 " " tolower($NF)}' filename此方法仅特定于与您显示的输出类似的输入。
使用sed
sed -e 's/\b\(EF1H....\)\b/\L\1/g' filename或使用perl
perl -ne 's/\b(EF1H....)\b/lc($1)/e && print ' filename这会将EF1H....更改为小写。
https://stackoverflow.com/questions/31104763
复制相似问题