So fügen Sie allen Dateien über das Terminal eine Erweiterung hinzu


14

Ich möchte allen Dateien die Erweiterung .zip hinzufügen. Ich habe es versucht, aber es funktioniert nicht:

ls | awk '{print $1 " " $1".zip"}' | xargs mv -f

Antworten:


5

Suchen - wenige Links:

  1. Fügen Sie allen Dateien rekursiv eine Dateierweiterung hinzu - Stapelüberlauf
  2. Hinzufügen einer Dateierweiterung zu Dateien mit bash - Stack Overflow

Mann umbenennen:

NAME
       rename - renames multiple files

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...

Mann-Wiki: http://en.wikipedia.org/wiki/Man_page


1
thx, basierend darauf konnte ich es so machen - ls | xargs -I% mv
%%


15
rename 's/$/\.zip/' *

Nicht dafür verwenden xargs!


Warum nicht Xargs verwenden?
UAdapter

2
Nun - es gibt einfach keinen Grund!
Adobe

4

Ein sehr einfacher Weg, dies zu tun, ist:

Wenn Sie die aktuelle Erweiterung beibehalten möchten:

for i in *; do mv $i ${i}.zip; done     

Wenn Sie die aktuelle Erweiterung ersetzen möchten:

for i in *; do mv $i ${i%.*}.zip; done

0

Dies sollte den Trick tun:

mmv "./*" "./#1.zip"

(Obwohl ich keine Ahnung habe, warum Sie das tun möchten ...)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.