From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,T_KAM_HTML_FONT_INVALID,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31881 invoked from network); 13 Nov 2020 21:46:32 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 13 Nov 2020 21:46:32 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1605303993; b=oW/foWC6BBhYhKepIaPYVaDgGC1obDJPpPrSerhg3zX10S0JC1PVUu89mR+U0XMBFO0ksTU+/q tcrSP4Ryxsqv9hxptlCwQMbV9PocWvGyiPa2QzUM+Yh0cVIO80md8d6yKr1weibkBzmfqxLMQs /slgvjWi/99NPi8t0x4H6xYaOcFDwLJ4QfbptnaolITcREXy+sS2KrV3eQd8uFXgmQxQj4vgr/ 6N/jNrXQW/HfeB7Y39Cun9sBhi9ri5sIuml0vbVPVsfRHso3Xd3U/L1XKofQYgLaJ4fQCTzloK AwhxJcC7fX0FvgRm4tQmjiG/kxYp9cNW92puEmHgJxWizQ==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-oi1-f182.google.com) smtp.remote-ip=209.85.167.182; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1605303993; bh=Kj68n1Y7cOKykgmWiTearFGgQDlJ8iIZVsKF1WByZn0=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:To:Subject:Message-ID:Date:From:MIME-Version: DKIM-Signature:DKIM-Signature; b=07+zcJfIv9lIWF2wSmY4NT/zkE95ENJDMY0zzFtnV7QULcJImWC7F3lEegj7wnmVK+EqKepQ+D UJPHlbAOxF8xZXtpaul0f1ZZvpv2nCVjhuuk5DYRAbTCzK0MjbMm1ZKmy1K70Sy/xBWK90h9mg FdoA0fJWdXWb2jFqnUD7ZriKtC4W61ApIlL5PEASrFukO1r4U1UDjntdORdU7/9Pxi6O8bu36g 9lCwWEtRdn5ML5Mi/z8nKuCgRuFAu/8cH2KKQVrjF79VxP5sLGzGQDimpzFyijg5xHV0rwP7H8 asKNfajWPkq0uf1rufkiv4s+CBLddrqG4HuWbhR7iLYaFA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:To:Subject:Message-ID: Date:From:MIME-Version:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References; bh=xaPLkNBVImSxJsnHLQkiiNwvmF2TB6YENrlvSgTdp4k=; b=P/pTMSY0YbLMPKMy911GGiKk4E /ECro9MhPzhwrlAFpw5EHwbdW1VxhpvZqFYC+Z95D2vD6v/2ahTh03BmZuAVNJPDbGujHzUi9oYXu KnhC387gt5i6OJiHPhLwdTE8MrdMFepr/ghKfCgw/+cpP5B0ius/+Ygl7i1ipyFxsVBSZZ7gBheW6 z1JfuAxlKy6+Pc2cs1O268eLT98Za5ggkCm5zJiOT/1UGuHV+wfDJvyaLvsA6iAC57x+T1BegoRE0 ryme30Mt/gNPLO494Ywh294+QWXf5kmmgX5gD0KGxMX61O5zHZWwyxev6nhZWs4q3OYh0dhqyZzVg UlQS2DFA==; Received: from authenticated user by zero.zsh.org with local id 1kdgtr-0005Ys-BI; Fri, 13 Nov 2020 21:46:31 +0000 Authentication-Results: zsh.org; iprev=pass (mail-oi1-f182.google.com) smtp.remote-ip=209.85.167.182; dkim=pass header.d=gmail.com header.s=20161025 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-oi1-f182.google.com ([209.85.167.182]:46095) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1kdgtF-0005C5-DY; Fri, 13 Nov 2020 21:45:54 +0000 Received: by mail-oi1-f182.google.com with SMTP id q206so11948776oif.13 for ; Fri, 13 Nov 2020 13:45:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=xaPLkNBVImSxJsnHLQkiiNwvmF2TB6YENrlvSgTdp4k=; b=nwS7RiFx9jHN1PYE1+WdkHrahpwBeGVV+HqN5DbBHOBG6GtStmTfVhMw8DIwad5QL7 zxP4b6ALbKpRadFwdf3dyvGkO8QUdgpLadeRsZNw/gmzu+YJCPZqfhKeW8oGb8DHG3Gz Qxz+xpRhdBqsINTcSyyWyRTxKCXyZJjNc+VYjj3svdUvK8zWn/USZHFs4c52xzcHmIcR EsOsJeX58Gy5LEy5mu8ENtFTErktlPCX0oSI7kwfmqHBsQJeW+gElLtybIvPzImmAiGe bpd73qdJcTvC0FCYUXG2YjYv3/NGnzLCAr4hXTihCcxPAHOOlJd5vIJLVqVSDoxYPGPg v8fA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=xaPLkNBVImSxJsnHLQkiiNwvmF2TB6YENrlvSgTdp4k=; b=NsimcFn4Sd6a3/00NzNaXYSdeO9sAxgve54ejTIe26bwqLGS1m9YwKXS1OWa2p6W1s AAcs3Ey/BbnmoXJ6VhB9A+CXclb6hSaBaHF7sbE1llfp4yc1IfkxyWJ3BgvBeYa0kmSF ts5tcK7vaOybuawfEFSF3G+YXHqp4ZRZRsgI0VEGwIPJj9VCb8QcxUK2fk1Qm9ubVxyG uq3DYJqtJUlNfB45OvzvzbGS2VgiNOPICnGOeDhTweqHJrncOJ9remoSwxpxeNCCxzWw TYmMhWRSUMf/CdcZm8hbVTBxq+v9Jeg8jFVkUUbwsNkWdnL8ctsLOfbyJDnH5aG2VR8E o9EA== X-Gm-Message-State: AOAM533JpqWvdi/QZPs8VY9X5nBXnqO2EzRY56HQgRuXE9zRQHDIJ0D8 d6WKGs1R5qu7TE/aCKiVqzLstTHUgUnanSrp2/jK6uuTCc3LEIzE X-Google-Smtp-Source: ABdhPJw6M6fK5cO9RD6tjqFMxXFEb8WpIiZLuEmsBlA0GCg4e5sKKXaMU3K4HiEGzGdQuIYOkMZ3lSeoP2ekUn3YjOQ= X-Received: by 2002:a05:6808:b38:: with SMTP id t24mr2710737oij.153.1605303951764; Fri, 13 Nov 2020 13:45:51 -0800 (PST) MIME-Version: 1.0 From: Ahmad Ismail Date: Sat, 14 Nov 2020 03:45:41 +0600 Message-ID: Subject: zmv pattern for directory and multiple file types To: Zsh Users Content-Type: multipart/alternative; boundary="000000000000cd2f0805b403f38d" X-Seq: 26164 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: --000000000000cd2f0805b403f38d Content-Type: text/plain; charset="UTF-8" Hi All, I have the following functions that rename files from camel to sort of kebab case. function ctokfiles() { # Transform [Capital][Capital][Small] to [Capital]-[Capital][Small] zmv -Q '(**/)(*[A-Z][A-Z][a-z]*)(.adoc|.txt)' '$1${2//(#b)([A-Z])([A-Z][a-z])/$match[1]-$match[2]}$3' # Put - Between [Small][Capital] zmv -Q '(**/)(*[a-z][A-Z]*)(.adoc|.txt)' '$1${2//(#b)([a-z])([A-Z])/$match[1]-$match[2]}$3' # Change [Capital][Small] to Lovercase zmv -Q '(**/)(*[A-Z][a-z]*)(.adoc|.txt)' '$1${2//(#m)[A-Z][a-z]/${(L)MATCH}}$3' } So, IF the input name is "ThisIsMyOCDTalking", it becomes "this-is-my-OCD-talking". Now I want to rename directories, adoc & txt files only. For directories, I think I have to use zmv -Q '(**/)(*[A-Z][A-Z][a-z]*)(/)' How to make a function that will work on adoc, txt and directories. I tried (/|.adoc|.txt), apparently not working. One more thing, is there any way I can reduce the steps in this functions. *Thanks and Best Regards,Ahmad Ismail* --000000000000cd2f0805b403f38d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi All,

I have the following= functions that rename files from camel to sort of kebab case.
function ctokfiles() {
=C2=A0 =C2=A0 # Transform= [Capital][Capital][Small] to [Capital]-[Capital][Small]
=C2=A0 =C2=A0 z= mv -Q '(**/)(*[A-Z][A-Z][a-z]*)(.adoc|.txt)' '$1${2//(#b)([A-Z]= )([A-Z][a-z])/$match[1]-$match[2]}$3'

=C2=A0 =C2=A0 # Put - Betw= een [Small][Capital]
=C2=A0 =C2=A0 zmv -Q '(**/)(*[a-z][A-Z]*)(.adoc= |.txt)' '$1${2//(#b)([a-z])([A-Z])/$match[1]-$match[2]}$3'
<= br>=C2=A0 =C2=A0 # Change [Capital][Small] to Lovercase
=C2=A0 =C2=A0 zm= v -Q '(**/)(*[A-Z][a-z]*)(.adoc|.txt)' '$1${2//(#m)[A-Z][a-z]/$= {(L)MATCH}}$3'
}
So, IF the input name is= "ThisIsMyOCDTalking", it becomes "this-is-my-OCD-talking&qu= ot;.

Now I want to rename directories, adoc & = txt files only. For directories, I think I have to use

<= /div>
=C2=A0 =C2=A0 zmv -Q '(**/)(*[A-Z][A-Z][a-z]*)(/)'
=

How to make a function that will work on ado= c, txt and directories. I tried (/|.adoc|.txt), apparently not working.
=
One more thing, is there any way I can reduce the steps in this functio= ns.

Thanks and Best Regards,

Ahmad Ismail

--000000000000cd2f0805b403f38d--