Ich habe eine Reihe von Dateien mit Dateinamen von Unterstrichen und Punkten zusammengesetzt, hier ist ein Beispiel:ersetzen String mit Unterstrich und Punkten sed oder awk mit
META_ALL_whrAdjBMI_GLOBAL_August2016.bed.nodup.sortedbed.roadmap.sort.fgwas.gz.r0-ADRL.GLND.FET-EnhA.out.params
Ich mag den Teil entfernen, die .bed.nodup.sortedbed.roadmap.sort.fgwas.gz.
so enthält die erwartete Dateinamen Ausgang wäre META_ALL_whrAdjBMI_GLOBAL_August2016.r0-ADRL.GLND.FET-EnhA.out.params
ich diese sed Befehle verwende aber keiner funktioniert:
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'
Jede Lösung wird sed oder aw k würde viel helfen
Also möchten Sie von allen diesen Dateinamen die exakt gleiche Teilzeichenfolge entfernen (d. H. 'Bed.nodup.sortedbed.roadmap.sort.fgwas.gz.')? – redneb
ja @redneb, der gleiche Teilstring wird über Dateinamen wiederholt. Ich habe versucht, eine Regexp verwenden, um die Teilzeichenfolge – user2380782
Wenn Sie eine feste Teilzeichenfolge haben, wofür brauchen Sie die Regex? Verwenden Sie einfach den Teilstring selbst als Muster. – redneb