I have the following structure. Each directory has files with the same name but the contents are different.
lib-
|-filled
|-A1K_plus.svelte
|-A1K.svelte
|- // more files
|-outlined
|-A1K_plus.svelte
|-A1K.svelte
|- // more files
|-round
|-A1K_plus.svelte
|-A1K.svelte
|- // more files
|-sharp
|-A1K_plus.svelte
|-A1K.svelte
|- // more files
For example filled/A1K_plus.svelte has the following content:
<script>
export let size = '24';
export let color = 'currentColor';
export let ariaLabel = '1k_plus';
</script>
<svg
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
fill={color}
class={$$props.class}
{...$$restProps}
aria-label={ariaLabel}
viewBox="0 0 24 24"
><path
d="M19 // removed for brevity"
/></svg
>
And outlined/A1K_plus.svelte has the following content.
<script>
export let size = '24';
export let color = 'currentColor';
export let ariaLabel = '1k_plus';
</script>
<svg
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
fill={color}
class={$$props.class}
{...$$restProps}
aria-label={ariaLabel}
viewBox="0 0 24 24"
><path
d="M19 3H5c-1.1 // removed for brevity"
/><path
d="M7.5 15H9V9H // removed for brevity"
/></svg
>
And so on.
Some have path tag one and others have two path tags between svg tags.
Now I want to combine all the files to create following for each files.
<script lang="ts">
export let size = '24';
export let color = 'currentColor';
export let ariaLabel = '1k_plus';
export let variation = 'filled';
let svgpath: string;
switch (variation) {
case 'filled':
svgpath =
'<path d="M10 10.5h1 // path from filled/A1K.svelte"/>';
break;
case 'outlined':
svgpath =
'<path d="M19 3H5c-1.1 // path from outlined/A1K.svelte " />';
break;
case 'round':
svgpath =
'<path d="M19 3H5c-1.1 // path from round/A1K.svelte"/>';
break;
case 'sharp':
svgpath =
'<path d="M21 3H3v18h18V3zM9 // path from sharp/A1K.svelte"/>';
break;
case 'two-tone':
svgpath =
'<path d="M5 19h14v-6.// path from two-tone/A1K.svelte"/>';
break;
default:
svgpath =
'<path d="M10 10.5 // same path as filled"/>';
}
</script>
<svg
xmlns="http://www.w3.org/2000/svg"
width={size}
height={size}
fill={color}
class={$$props.class}
{...$$restProps}
aria-label={ariaLabel}
viewBox="0 0 24 24"
>
{@html svgpath}
</svg>
Can I do this with Bash?