Ich habe einen Haufen Dateien mit vielen Zeilen, die wie folgt konfiguriert sind:
what,r-crq,What,What,VAC5700-035080,What
i,pns11,I,I,VAC5700-035090,I
do,vdd,did,did,VAC5700-035100,did
Ich möchte eine Suche und Ersetzung durchführen und dabei Folgendes erhalten, wobei die 4 Zahlen danach gespeichert und erneut eingefügt VAC
und der nachfolgende Teil der VAC
Zahl entfernt wird:
what,r-crq,What,What,VAC5700,What
i,pns11,I,I,VAC5700,I
do,vdd,did,did,VAC5700,did
Gibt es eine Möglichkeit, dies für alle Dateien gleichzeitig zu tun (die VAC
Anzahl variiert und muss daher als Variable gespeichert werden), vorzugsweise in der Bash-Shell?
Ich gehe davon aus, dass ich dies mithilfe regulärer Ausdrücke auch in „Notepad++“ tun könnte, aber ich denke, das Shell-Skript wäre vorzuziehen, da ich alle Dateien in einem Stapel verarbeiten könnte.
Antwort1
Verwenden Sie den sed
Befehl:
sed -e 's|,VAC\([0-9][0-9][0-9][0-9]\)-[0-9]*,|,VAC\1,|' inFile > outFile
Es wird ,VAC####-#...#,
durch ersetzt ,VAC####,
.