shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Help para Renomar Lote de Arquivos


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] Help para Renomar Lote de Arquivos
Date: Mon, 22 Apr 2002 17:37:59 -0300 (BRT)

address@hidden, @ 17:06:

> Estou com um probleminha para renomear todos os arquivos de um diretório.
> Na verdade, eu quero mudar o padrão (regra de formação) dos nomes dos CSV.
>
> Atualmente, a regra de formação do nome dos arquivos é esta:
> <string-1>  NNNNNN - <string-2>.csv
[...]
> Eu preciso renomear todos estes arquivos para o seguinte formato
>
> <string2>: NNNNNN.csv
>
> Onde <string2 > e NNNNNN são os mesmo do original, e eu utilizo o ":" (dois
> pontos) para separar o string2 e o sequencial (isso é uma forçada de barra
> para simplificar a leitura do ls via outro script)

Regex pra fazer isso:
s/^.* \([^ ]*\) - \(.*\)\.csv$/\2: \1.csv/
   ^     ^          ^
   str1 NNNNNNN - string2.csv

Feita a regex, o script é fácil:

#!/bin/sh
REGEX='s/^.* \([^ ]*\) - \(.*\)\.csv$/\2: \1.csv/'
ls *.csv | while read filename; do
    newname=`echo "$filename" | sed "$REGEX"`
    echo "Tou movendo '$filename' para '$newname'"
    # descomente...
    ### mv "$filename" "$newname"
done

-- 
Eliphas

Anyone sending unsolicited bulk email (UBE, SPAM) to this address will
be charged a $25 handling fee plus a $5 network traffic fee per
started kilobyte. By extracting my address from this message or its
header, you agree to these terms.
Nevertheless, spammers trying to auto-extract addresses from this
message will definitely want to include address@hidden, address@hidden,
and address@hidden



reply via email to

[Prev in Thread] Current Thread [Next in Thread]