From nobody Thu Feb 16 10:24:31 2023 X-Original-To: freebsd-questions@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4PHWK14T4Sz3q05F for ; Thu, 16 Feb 2023 10:24:37 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.134]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mout.kundenserver.de", Issuer "TeleSec ServerPass Class 2 CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4PHWK10cMRz3vyD for ; Thu, 16 Feb 2023 10:24:36 +0000 (UTC) (envelope-from freebsd@edvax.de) Authentication-Results: mx1.freebsd.org; none Received: from r56.edvax.de ([178.12.39.114]) by mrelayeu.kundenserver.de (mreue010 [212.227.15.167]) with ESMTPA (Nemesis) id 1MGzI3-1pNz073Mf5-00E6pf; Thu, 16 Feb 2023 11:24:32 +0100 Date: Thu, 16 Feb 2023 11:24:31 +0100 From: Polytropon To: Sysadmin Lists Cc: freebsd-questions@FreeBSD.org, Per olof Ljungmark Subject: Re: remove double quote character from file names Message-Id: <20230216112431.8252a3d4.freebsd@edvax.de> In-Reply-To: <1398045780.627028.1676532009651@ichabod.co-bxl> References: <1398045780.627028.1676532009651@ichabod.co-bxl> Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) List-Id: User questions List-Archive: https://lists.freebsd.org/archives/freebsd-questions List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-questions@freebsd.org X-BeenThere: freebsd-questions@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:XPFTghl8Sm4cP4/FYPbRILN76nGEcshZzbcMii0syQTusb7lbQf qc44MOHW9ZtKcnQjXSF8jS/xyLE2UfJNaYd/XB4bfkKnVq+RLV0J4BFJMb1ee8bolvt4n8Q eDwyCMGb2zrhQndNGbNgkaeKQlkprNvrcbZ+GKyLUvNpdEuv96GftkBIvy4O/kOfedwQ5mN 3UjE2z5EfeaIVzxUChKkw== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:/tMmuVEPsyk=;IGtisyKCg6d6ip6zdnOffEYp8bD DPf7mUn8icM+bqFe2lUjpZbltVzGc+cMrZP5x8XwXboTcz96PcfznAVxPzg0hB36ouvxIfI0N 8xGZHhPm4M9ZqUYHMnERGMLiZSrxvWtQ+nLc5X+J2Gv8aFmha+uTIUuIzEz3U2sMe77Tc6c3c D1oWjFv2otsTXd1uG+2SwKuJOjzstqf12XNYzfJrwWmsdESBx/3Zbvm6lE6NkUXiH99Imyg08 pm1DAwXpQwBCYoLGezE+wMI+zFcJ1fs6q6xj+HqDWGN25+gisbvTgqnp9ccd7f5vr0z9ZyKWf zTZum9ZC4vjpQHTzvhyCm6FfZWJlJTrnFe2W5kVjZ1ia3a/18Izb4DrCdlZlRaS/5IZr3yndQ qgsGpBGNOBfJE97pLU7BowxQ4uc69OiuRoZeJhq62hSR1zVE9+o28Y7nIA1PAOqIg/RD4MvMC B1kcoh5d/ipNCdJHdmwIaeEwQ/4lhRmDJMarF7xzx3idzU2FuC5+XV1MOylyvlsuu8y2j4zl4 blGDfc1gKMimfsM6VRL2OW1UKSlHWhhDMdb+ZlxHBcxt90Wrp8DeOTH/8s6elhUvcnLnK3M5G IZa9j43L8PSeKqB2X7ITU5qh821uyXCtJShkRX5ugVm/W2pW+815Fhbmz7tbOA60irk3B7rGi kFirwjmak3EktG0y1RekW6GFfwi3FH8fE7SxyIN1Rw== X-Rspamd-Queue-Id: 4PHWK10cMRz3vyD X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8560, ipnet:212.227.0.0/16, country:DE] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N On Thu, 16 Feb 2023 08:20:09 +0100 (CET), Sysadmin Lists wrote: > [...] > Just to throw in an awk-themed solution: > $ ls -1 | awk '/"/ { system("mv -v '\''" $0 "'\'' " $0) }' > > $ touch "\"foo bar\"" \"baz\" \".zap\" xyz abc > $ ls -1A > ".zap" > "baz" > "foo bar" > abc > xyz > $ ls -1 | awk '/"/ { system("mv -v '\''" $0 "'\'' " $0) }' > ".zap" -> .zap > "baz" -> baz > "foo bar" -> foo bar > $ ls -1A > .zap > abc > baz > foo bar > xyz > > There's a clever use of the existing double-quotes in the filenames > in the renaming. This is actually a quite clever "ab"use of existing quotes. Just a friendly sidenote: Never expect anything. It _might_ be possible that filenames such as foo "bar" blah.txt "meow" 123.dat doodle "boo" .c++ -my brain hurts ."tar".gz exist in the heap of files to be processed. Selecting a good delimiter for input files is hard. Using the "IFS = \n" approach works - as long as there are no newlines in filenames (which I'm not sure could also be allowed)... ;-) -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...