#!/bin/bash process_file_lines() { local input_file="$1" local output="" # Read the input file and process it line by line previous_line="" while read -r line; do if [[ ! $line =~ ^\[2 ]]; then previous_line+="$line" else if [[ -n $previous_line ]]; then output+="$previous_line"$'\n' fi previous_line=$line fi done < "$input_file" # Append the last line if [[ -n $previous_line ]]; then output+="$previous_line"$'\n' fi # Return the output as a printf %q quoted string printf %q "$output" } # Usage example input_file="input.txt" # Replace this with the actual input file path processed_output="$(process_file_lines "$input_file")" # Use printf %b to properly unquote the output variable printf "\nProcessed output:\n%b\n" "$processed_output"