Rimuovi i caratteri che precedono il secondo carattere di sottolineatura nei nomi dei file

1

Ho un sacco di file e vorrei rimuovere tutti i caratteri che precedono il secondo carattere di sottolineatura nei nomi dei file. Un esempio è mostrato sotto. Come faccio a farlo usando i comandi di bash?

[Da]

021_D05_53715-F.ab1
021_D06_53936-F.ab1
022_C06_53935-F.ab1
030_C08_53993-F.ab1
048_A12_54057-F.ab1

[A]

53715-F.ab1
53936-F.ab1
53935-F.ab1
53993-F.ab1
54057-F.ab1
    
posta Guanyang Zhang 01.03.2016 - 19:32
fonte

1 risposta

-1

Bash può capire dove l'ultimo carattere di sottolineatura sta usando una corrispondenza di espressioni regolari, quindi puoi usare l'estrazione della sottostringa per ottenere la parte del nome del file che ti interessa. Qualcosa del genere:

#!/bin/bash

file="021_D05_53715-F.ab1"
pos='expr "$file" : '^.*_''
newfile=${file:$pos}
echo "$file -> $newfile"
    
risposta data 01.03.2016 - 20:25
fonte

Leggi altre domande sui tag