1
0
mirror of https://gitlab.com/linuxstuff/dotfiles.git synced 2026-06-19 04:06:00 +02:00
Files
dotfiles/.config/polybar/config-merge/config-merge.sh
T
2021-02-19 08:58:23 +01:00

42 lines
1.1 KiB
Bash

#!/bin/bash
LOCATION="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
OUTPUT_FILE="$1"
INPUT_DIR="${2:-$LOCATION}"
echo -n "Merging files in '$INPUT_DIR'"
if [ -n "$OUTPUT_FILE" ]; then
echo " into '$OUTPUT_FILE'"
if [ -f "$OUTPUT_FILE" ]; then
mv "$OUTPUT_FILE" "$OUTPUT_FILE.bak"
fi
fi
find "$INPUT_DIR" -regextype sed -regex ".*c[0-9]*-.*" -print0 | sort -z |
while IFS= read -r -d '' filePath; do
file="${filePath:$((${#LOCATION} + 1))}"
if [[ $file != *"##"* ]]; then
if [ -z "$OUTPUT_FILE" ]; then
OUTPUT_FILE=$(echo "$file" | awk -F "[-]" '{print $2}')
echo " into '$OUTPUT_FILE'"
if [ -f "$OUTPUT_FILE" ]; then
mv "$OUTPUT_FILE" "$OUTPUT_FILE.bak"
fi
fi
if [ ! -f "$OUTPUT_FILE" ]; then
touch "$OUTPUT_FILE"
fi
echo "> $file"
(
cat "$INPUT_DIR/$file"
echo
) >>"$OUTPUT_FILE"
else
echo "x $file"
fi
done