我有下划线和点组成的文件名一堆文件的点,这里是一个例子:替换字符串以下划线并使用awk或者sed
META_ALL_whrAdjBMI_GLOBAL_August2016.bed.nodup.sortedbed.roadmap.sort.fgwas.gz.r0-ADRL.GLND.FET-EnhA.out.params
我想删除包含.bed.nodup.sortedbed.roadmap.sort.fgwas.gz.
所以部分预计输出文件名会META_ALL_whrAdjBMI_GLOBAL_August2016.r0-ADRL.GLND.FET-EnhA.out.params
我使用这些sed命令,但没有一个作品:
stringZ=META_ALL_whrAdjBMI_GLOBAL_August2016.bed.nodup.sortedbed.roadmap.sort.fgwas.gz.r0-ADRL.GLND.FET-EnhA.out.params
echo $stringZ | sed -e 's/\([[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.\)//g'
echo $stringZ | sed -e 's/\[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.[[:lower:]]\.//g'
任何解决方案是sed或AW ķ将有很大的帮助
那么你想从所有这些删除的文件名完全相同的子串(即'bed.nodup.sortedbed.roadmap.sort.fgwas.gz.')? – redneb
是@redneb,跨文件名重复相同的子字符串。我试图用正则表达式来匹配子字符串 – user2380782
如果你有一个固定的子字符串,你需要什么正则表达式?只要使用子字符串本身作为模式。 – redneb