#!/bin/bash # Estrae e stampa una funzione da un file. # # UTILIZZO: # ./print_function.sh # # ESEMPIO: # ./print_function.sh myFunction myfile # # La funzione viene stampata sullo standard output. if [ "$#" -ne 2 ]; then echo "Uso: $0 " exit 1 fi FUNCTION="$1" FILE="$2" awk -v func="$FUNCTION" ' /^[[:space:]]*function[[:space:]]+/ { if ($0 ~ "^[[:space:]]*function[[:space:]]+" func "[[:space:]]*\\{") { found=1 braces=0 } } found { print braces += gsub(/\{/, "{") braces -= gsub(/\}/, "}") if (braces == 0) { exit } } ' "$FILE"