From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: Human-readable file sorting Date: Tue, 23 Feb 2016 12:13:20 +0600 Message-ID: References: <87povs41xg.fsf@gnus.org> <87bn7c3yms.fsf@gnus.org> <87r3g7exb2.fsf@gnus.org> <87twl3vrk9.fsf@mbork.pl> <87oabbdf9l.fsf@gnus.org> <87k2lwty5a.fsf@thinkpad.rath.org> <87k2lw8m9p.fsf@mbork.pl> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: ger.gmane.org 1456208036 8812 80.91.229.3 (23 Feb 2016 06:13:56 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 23 Feb 2016 06:13:56 +0000 (UTC) Cc: Nikolaus Rath , Emacs developers To: Marcin Borkowski Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 23 07:13:51 2016 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1aY6EH-0005vA-HU for ged-emacs-devel@m.gmane.org; Tue, 23 Feb 2016 07:13:49 +0100 Original-Received: from localhost ([::1]:54145 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aY6EG-0006vW-PF for ged-emacs-devel@m.gmane.org; Tue, 23 Feb 2016 01:13:48 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35819) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aY6EB-0006rJ-3R for emacs-devel@gnu.org; Tue, 23 Feb 2016 01:13:43 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aY6EA-0004g0-7E for emacs-devel@gnu.org; Tue, 23 Feb 2016 01:13:43 -0500 Original-Received: from mail-lf0-x22b.google.com ([2a00:1450:4010:c07::22b]:33137) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aY6E9-0004fq-Tr for emacs-devel@gnu.org; Tue, 23 Feb 2016 01:13:42 -0500 Original-Received: by mail-lf0-x22b.google.com with SMTP id m1so109566984lfg.0 for ; Mon, 22 Feb 2016 22:13:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; bh=FvKR1urTz2QK9/N/ITDPsrLFXT16E3t+ETv28ra5iAM=; b=ZRtJbUrprRSmQGiFD7j6Jz3Yf4UrzRnEdw3Hz4pqkOQQgou3mda1FZBNrdmAKAyBmb Z5+adGs6Ld8zxvLoeJXLTFQ7QkmraqaO2QMlnoOlmkZ3972nK+Km0kbI2TkeLV35qXDA m5/0HgX5wDdeWpMjnMMDGSx/He49lFgUp2t92WqFIB7r3O56TAuTkWo/zLSpr/xs3eKc AzNqWgn9pp5CJ1McxWlQcrHN7gpPT2r9ssTv2Vj5OyWcx3nkEGSIOheQkSfSzebTw7i7 gcjl80BrtIpZc4gCou72nW4mOU9+Ici73dL5B1GDt5VsjX93rBPNEnLbOAiojhuTlrWJ M04Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-type; bh=FvKR1urTz2QK9/N/ITDPsrLFXT16E3t+ETv28ra5iAM=; b=QHlRqeihPHDadYyYddMd2Enb9wH3L/Go/aCMNSb8Spm/xTdJM9GkgYGmecPb1CTZzl 4IUJcEHmV63JufyKLy7xslVEbvwgpeCCHiDUehjLY4i2TQdsGsXECdgA1gL7DLNueHiA 5llhF4ON1cT5ZbWvPUmCuXxLUb3P5KAEttLlQXo9Qw7aPZnNQod94apy1vIUXDBZWHJa yydRomOLpEZcH8ltV9vAYkpCnIoBB4zEtOR8azzJ0Ib5p4wMfeXWj1UpBg4AJB4MpaYC fElWn1Or/ThyHrMdwQSzgN/jcDpO3DcmFvNf2DimuYuQw6q+7Ua686Xr/asmeZpOE8H0 ijpA== X-Gm-Message-State: AG10YORQE/Q6+S2KI/+ebpyTSd2l9rJrDAaQrE8rYhKGZj0Vk5flX2q2CIMbnUbvFM6YjgHMDzZpkS44OaQXqQ== X-Received: by 10.25.90.3 with SMTP id o3mr8796254lfb.166.1456208020622; Mon, 22 Feb 2016 22:13:40 -0800 (PST) Original-Received: by 10.112.239.42 with HTTP; Mon, 22 Feb 2016 22:13:20 -0800 (PST) In-Reply-To: <87k2lw8m9p.fsf@mbork.pl> X-Google-Sender-Auth: V3jICVjjamZwHi459nhzuXXMnJ0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:4010:c07::22b X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:200530 Archived-At: On Tue, Feb 23, 2016 at 3:31 AM, Marcin Borkowski wrote: >> $ mmv 'prefix*.jpg' 'prefix0#1.jpg' > > What about thumbnails? Metadata kept in seperate files by image viewing > programs? Those are caches and should be invalidated by the rename. > That wasn't too painful, but it was too simple. (Still, thanks for > teaching me that mmv command - nice!) Perl comes with a handy script rename(1) which performs multi-file renames by applying a Perl regexp substitution, optionally filtering by wildcard: $ rename 's/^prefix(.*?)\.jpg$/prefix0$1.jpg/' The util-linux package contains another utility, also named rename(1). Its man page explicitly gives this use case as an example: Given the files foo1, ..., foo9, foo10, ..., foo278, the commands rename foo foo0 foo? rename foo foo0 foo?? will turn them into foo001, ..., foo009, foo010, ..., foo278.