DistroHopper/sort_functions.sh

18 lines
560 B
Bash
Executable File

#!/bin/bash
# Get the name of the script from the command line argument
script_name=$1
# Get a list of all the function names in the script
function_names=$(grep -oP '^[[:space:]]*function \K\w+' "$script_name")
# Sort the function names alphabetically
sorted_function_names=$(echo "$function_names" | sort)
# Loop through the sorted function names and print the function definitions
for function_name in $sorted_function_names
do
# Print the function definition to stdout
grep -A $(wc -l < "$script_name") -w "function $function_name" "$script_name"
done