(4 jawaban)
Tutup 5 tahun yang lalu.
Jadi saya memiliki skrip yang menambahkan 2 film bersama menggunakan audio dari $1.audio
mengajukan. Yang ingin saya lakukan adalah mengganti nama file apa pun di direktori dengan:
*.mp4
Kepada:
*.audio
Menjaga nama file asli.
Jawaban yang Diterima:
Anda dapat menggunakan rename
memerintah. Ini tidak portabel, tetapi ada dalam bentuk yang berbeda dalam distribusi yang berbeda.
Di CentOS/RHEL dan mungkin Fedora:
rename .mp4 .audio *.mp4
Harus melakukannya. Dari man rename
di CentOS 6:
SYNOPSIS
rename from to file...
rename -V
DESCRIPTION
rename will rename the specified files by replacing the first occur-
rence of from in their name by to.
Di Ubuntu dan mungkin varian Debian apa pun:
rename 's/.mp4$/.audio/' *.mp4
harus melakukannya. Dari man rename
di Ubuntu 14.04:
SYNOPSIS
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
DESCRIPTION
"rename" renames the filenames supplied according to the rule specified
as the first argument. The perlexpr argument is a Perl expression
which is expected to modify the $_ string in Perl for at least some of
the filenames specified. If a given filename is not modified by the
expression, it will not be renamed. If no filenames are given on the
command line, filenames will be read via standard input.
For example, to rename all files matching "*.bak" to strip the
extension, you might say
rename 's/.bak$//' *.bak