From unknown Sun Jun 15 08:42:52 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#70476 <70476@debbugs.gnu.org> To: bug#70476 <70476@debbugs.gnu.org> Subject: Status: `**` GNU extension only works when ERE syntax is enabled Reply-To: bug#70476 <70476@debbugs.gnu.org> Date: Sun, 15 Jun 2025 15:42:52 +0000 retitle 70476 `**` GNU extension only works when ERE syntax is enabled reassign 70476 sed submitter 70476 Dylan Brotherston severity 70476 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 19 19:05:23 2024 Received: (at submit) by debbugs.gnu.org; 19 Apr 2024 23:05:25 +0000 Received: from localhost ([127.0.0.1]:60860 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rxxI7-0001mZ-Br for submit@debbugs.gnu.org; Fri, 19 Apr 2024 19:05:22 -0400 Received: from lists.gnu.org ([2001:470:142::17]:54944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rxsMk-0006Tc-26 for submit@debbugs.gnu.org; Fri, 19 Apr 2024 13:49:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rxsMQ-0007dt-7R for bug-sed@gnu.org; Fri, 19 Apr 2024 13:49:18 -0400 Received: from mail-me3aus01on20701.outbound.protection.outlook.com ([2a01:111:f403:201d::701] helo=AUS01-ME3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rxsMN-0005vd-Fw for bug-sed@gnu.org; Fri, 19 Apr 2024 13:49:17 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oSOXd/l0w9sXDWELaWBwO9MEDBr58NzPbfaUybp5b6mgMXVX8H1SFP8ZltL+a1+u+YKLgxjr/gmMwJ+YEZ1iL3CcO3NotXPnFtPftVArc3NT1WECzFIxfObuNCxph5kfdW0e/KeF2kBXNXfxKlH5Hln/POsbbfZoRDNlTHHR+Alz7PdhkQQlk1MHRq6KfY4gHvPVWLy0FNt4OMXDdADtU/gqQhfrXbvpYHyXRzVT0NRi9bjnzGywZsOjGHBdbK1H4lWJGfDLMhxa3Gga/6S+HfVSuC815ShotuFmzBjmfNuDgVroIDLqapFIrLFe5JfM3u0rRDl3xC4NEbXirQwaLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Bx2ZdlHRfjZVsUxBQ5sOzJpo9la1L5D+7z4OEqvNq50=; b=D6p39+Lz7/QCe11EOAKp7vUdpuoxuz+hnHRO/z5cyjnD8jtu7AJwehrR+nLpscYydXpec7/XLNH5U94Rrm3LCLSuI5l5gN55BGsATWR/QHBVfUqgn96WuRdMVA2idd7IjWxkdjBh8lGpjhuH/1HVCveR0gbHWoDYFrWEq4g7ziUdmf2PQ1xJQfdcUBo0rAxWb0NOgQWR77yKB8uYJfJkdIFBDzCuGK4b2uh8+b5Vi6HHUoeDKg1+g0a55JFR1W5kWm1HXtoKd+lhP2zluXlc+gH+t7pD4OBlfmhmHCwPj6DEZg1PEa0BvVvhkTxylTNvDZ3qlFEWabHw/rrFMhkN/w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=unsw.edu.au; dmarc=pass action=none header.from=unsw.edu.au; dkim=pass header.d=unsw.edu.au; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=unsw.edu.au; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Bx2ZdlHRfjZVsUxBQ5sOzJpo9la1L5D+7z4OEqvNq50=; b=E++Dhwx2TG/5qLSgA0dmdsDkodzVgJEpZV6driz+RtUrHUXtzGotZqKsLXEaFhs2W9fWWxZo9qEjyuKLKNhdBMORHoChCZLhQP227ByFg/gCiuHIjT9EBqd1XJuAsTLDvH47PJ7ofFOO0FSHteVZ4Z0VSiWSUha6d3u5gH/bz40= Received: from SY2PR01MB3067.ausprd01.prod.outlook.com (2603:10c6:1:1b::17) by SY4PR01MB6815.ausprd01.prod.outlook.com (2603:10c6:10:134::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.44; Fri, 19 Apr 2024 17:44:04 +0000 Received: from SY2PR01MB3067.ausprd01.prod.outlook.com ([fe80::c648:b39:f186:d43]) by SY2PR01MB3067.ausprd01.prod.outlook.com ([fe80::c648:b39:f186:d43%4]) with mapi id 15.20.7472.042; Fri, 19 Apr 2024 17:44:03 +0000 From: Dylan Brotherston To: "bug-sed@gnu.org" Subject: `**` GNU extension only works when ERE syntax is enabled Thread-Topic: `**` GNU extension only works when ERE syntax is enabled Thread-Index: AQHakn67QYUau2VyVkq8ibRXBgXnrA== Date: Fri, 19 Apr 2024 17:44:03 +0000 Message-ID: Accept-Language: en-US Content-Language: en-AU X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=unsw.edu.au; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SY2PR01MB3067:EE_|SY4PR01MB6815:EE_ x-ms-office365-filtering-correlation-id: aeadb953-f773-438c-635e-08dc60984dca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: o7zE5stJozUwpxkZp107t1WATEq0AQKG0R16/1AcF5SYgOyZMAESh3MkhtTHoPpwGF4D537Hyn74r3y00Q/koMU0KfXqXRF5f3oQL7FJFdUcVqi6rmshVqI4B+VY37SVK0mLiY+rnA/4i9gbzeTMhWWO9t3FRFm/KxDQRuFaLivznRV10jPF9wAdACU95KlFQMoGqNzVJhYdVeqGGNMLoXojcLAmPF1XyAhLp/lrp7oC1Ir1k0yrrM3HVHogzA0hnlL4JlSAUv0VjYZ+q1cM49MTt6eAxQFoBNcHWQGxfX2HxzuEVVeShvzKMRZssI6RwLlXh3G0ioa6beZObnz5ABUW2b4m9MaclspuIRQuSBjHq9Etb80hDtxfoqI6FgEmrsRti2aiC6tVFBM6yxHlz3evp+xB9WugZOAay8d6MhPoATi88sx6HFkFoZr5IRuNCfygp/OC7iQUoGG1uXI1DQEShbTO40ek/1FQCMsRk68ss1ojMdpVLD0MvaWI+V0BHxRjXJyKeJCwzOkBEuq6sSFmSPCRk8/Zq1NCenM3YFK4AEh5JbZv2bkKvju9G+TVu5Ex7UiN1xb1On8s0UZVE+8kLolU3Hu50be4Gjg5Pr2ppmc8fvmwsEUS0gn3xj0zLLI65ZJS2/7q5mKOC+bT91ZGXJAGNRoZO4GYp6d3Tes= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SY2PR01MB3067.ausprd01.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(366007)(1800799015)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?aXIahzcCRT/CYn+Wx2OmtLbrzxwPbm6yOoleWKIHdunI88NNGKRiAxwLl0?= =?iso-8859-1?Q?EUJH+nvrvCuAwEF95XSIfGMOgEyWGNKBVxieYaX5UW8LxTZXbeS0zgKVtM?= =?iso-8859-1?Q?RQfvncbxNhu9IZ7vC3xYs8a5eP/jadSp5rjKbdVEqqn/Do8sMYSkRH2bUs?= =?iso-8859-1?Q?LvIimorPs7gE+TmLdG+95RZHL3YyFL95cM6YD323vaimfLC2Lh3s+n9nnY?= =?iso-8859-1?Q?0RFEIcnvpY8sKROxzamUrq8qGZStsbQEpOV0LByl7/xfHmghqXb91tQVBe?= =?iso-8859-1?Q?NiA+TsbOhL1JW04kyiz+uad4rlNAcwAMhosIjMVZoJfXpEts8vqyXTE2oe?= =?iso-8859-1?Q?SzN6LvGDn2C3F/ij7kFRW8FnJPAsQWf6QvjHlB1UxdnVlmxajniK33uOuu?= =?iso-8859-1?Q?4H1CzWfPpZx+ggjeINGIJhStGZOccR9gNn69AvXXBojbPL9IDti99MZ0Zo?= =?iso-8859-1?Q?6voW/IrCoHuUkKPtr6jIT81xyboSkWvrJnTfgRJEx/oF0QxrKnGt9SZQwj?= =?iso-8859-1?Q?JAjOye1/GCgtZsxTaqg4uFlg3F0Ry/qB/Qew9DOz6vT6Vf5tgso32Jx0iK?= =?iso-8859-1?Q?FDNKJeMmw4SSWTBerVk8HnUt6s4OHn2sUkCXaLuL4i0WzobUSP9WIeb9c+?= =?iso-8859-1?Q?/ax6swZbrYxhJNvPWjI/MHqLhXG6ObQRIWFco76m6JeqOlC5x8Meuujqp6?= =?iso-8859-1?Q?yj2Xb8HEvc/+qH7Pu2eFHlqcg75AE3OCb4zxhowJ7Nqpv2O4SgUrPdZwOI?= =?iso-8859-1?Q?6CBCTWfopGNf2vnBMyUHrHvojnTrCeZEYTwQNXSEikdEPax/OJn2uVklSJ?= =?iso-8859-1?Q?teY6DPw7p6L7kM8ERjUyJSmdY+Ap8gkL/sz789dH2hGz4wnn2IqTxYmgKH?= =?iso-8859-1?Q?6MPrfVJHdePqUQGigdgSihtGH8ickmRQiSKJMV1hizMYGCtLunwK9QgHtw?= =?iso-8859-1?Q?FHLqLn6lfwFtHVdcO7nBqb75QBwsRDcX53f6s+B9JKWlCj0mcPH8wh0mWr?= =?iso-8859-1?Q?xJma1SW6SFVdVq0kI7zyFN5LDqu4o5UB3kAvyvWXJAVuumWI61ZJYH2jtN?= =?iso-8859-1?Q?Zh6Id25HfVHnJZKrVSZHu2zSoRYJ4uEP0TNkukb5mp7cUhy8OkxzvYeHBs?= =?iso-8859-1?Q?XlYsRHanuelfinvcd62gmFiZi6QnRpav09AXYWVUcRHNCrvESd2vYCI4pb?= =?iso-8859-1?Q?zpRs7J74l9S5zT7nNDVv4qUr1ZSg4XNFMmA5IR4qQbc3n2CGs/dkL6Bzn/?= =?iso-8859-1?Q?JPp/Fj3vHx5hk3wDxWqSV2fXRMiiu5cxJ2vY+aAfSUuUnRffhJ1fOUtyES?= =?iso-8859-1?Q?jlwwgb9QwoWSAN3osQla5gWM1UEMFnlUr8wNkE92weCGj4gYfoODoFKV4r?= =?iso-8859-1?Q?3b16HcF7Ent0fy5GLeohSUVaIHeizKhVEqL4FBxCxo0/aztG08UYft+cQy?= =?iso-8859-1?Q?LUqm1NelU6HF8Go0x1O84JDvvJB/ZFRPfwk//lG0HniMve7dzYaa024a7i?= =?iso-8859-1?Q?VRZMmrfJkpoCm5SpM7FTwrsfHkvMbjlpv3rB5UUxLPqzaAUnEuV+9OsbUx?= =?iso-8859-1?Q?S/DdPWJdhCSJV6JJj2uyfFUvyBdnjn0nuKcGXg3bPrEgXXVuSUXDEuHBKp?= =?iso-8859-1?Q?7z4d+P8FnT3i/LrBQ3oxR/Jqw4F+TkB5vP?= Content-Type: multipart/alternative; boundary="_000_SY2PR01MB3067EE2E3074373CE2834EACBC0D2SY2PR01MB3067ausp_" MIME-Version: 1.0 X-OriginatorOrg: unsw.edu.au X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SY2PR01MB3067.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aeadb953-f773-438c-635e-08dc60984dca X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2024 17:44:03.5899 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3ff6cfa4-e715-48db-b8e1-0867b9f9fba3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: KMjLwNfeOba//5UCdwJhR/hvbFWzVQJd3YxnknWYn1yq2GiFP58OS70ltrpRXw5aigOQVlk1ihmDeutgvbkBug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY4PR01MB6815 Received-SPF: pass client-ip=2a01:111:f403:201d::701; envelope-from=d.brotherston@unsw.edu.au; helo=AUS01-ME3-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Fri, 19 Apr 2024 19:05:09 -0400 Cc: "dylanbbbrother@gmail.com" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --_000_SY2PR01MB3067EE2E3074373CE2834EACBC0D2SY2PR01MB3067ausp_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable $ sed --version sed (GNU sed) 4.9 The documentation for sed BRE syntax states: > As a GNU extension, a postfixed regular expression can also be followed b= y *; for example, a** is equivalent to a* https://www.gnu.org/software/sed/manual/sed.html#BRE-syntax But sed reports an error when ** is used in a BRE expression $ seq 10 20 | sed 's/1**//' sed: -e expression #1, char 7: Invalid preceding regular expression and only allows this syntax when ERE syntax is enabled $ seq 10 20 | sed -E 's/1**//' 0 2 3 4 5 6 7 8 9 20 grep, which also implements this GNU extension, allows ** in BRE syntax $ seq 10 20 | grep -o '1**' 1 11 1 1 1 1 1 1 1 1 $ seq 10 20 | grep -oE '1**' 1 11 1 1 1 1 1 1 1 1 Additionally, the documentation for the `--posix` flag states > disable all GNU extensions. ** is specifically documented as a GNU extension, but `--posix` doesn't dis= able the use of ** $ seq 10 20 | sed --posix -E 's/1**//' 0 2 3 4 5 6 7 8 9 20 --_000_SY2PR01MB3067EE2E3074373CE2834EACBC0D2SY2PR01MB3067ausp_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
$ sed --version
sed (GNU sed) 4.9

The documentation for sed BRE syntax states:
> As a GNU extension, a postfixed regular expression can also be fo= llowed by *; for example, a** is equival= ent to a*
But sed reports an error when ** is used in a BRE expression

$ seq 10 20 | sed 's/1**//'
sed: -e expression #1, char 7: Invalid preceding regular expression

and only allows this syntax when ERE syntax is enabled

$ seq 10 20 | sed -E 's/1**//'
0

2
3
4
5
6
7
8
9
20

grep, which als= o implements this GNU extension, allows ** in BRE syntax

= $ seq 10 20 | grep -o '1**'
1
11
1
1
1
1
1
1
1
1
$ seq 10 20 | grep -oE '1**'
1
11
1
1
1
1
1
1
1
1

Additionally, the documentation for the `--posix` flag states
> disable all GNU extensions.
** is = specifically documented as a GNU extension, but `--posix` doesn't disable t= he use of **

$ seq 10 20 | sed --posix -E 's/1**//'
0

2
3
4
5
6
7
8
9
20
--_000_SY2PR01MB3067EE2E3074373CE2834EACBC0D2SY2PR01MB3067ausp_--