Extract Software version from Cisco Devices
#!/bin/bash
input_file="input.txt"
output_file="output.txt"
while IFS= read -r line; do
# Extract text before the first colon
name=$(echo "$line" | sed -n 's/^\([^:]*\):.*/\1/p')
# Match version patterns like 10.3(1), 10.4(3a), 7.3(9)D1(1), etc.
version=$(echo "$line" | grep -oP '\b\d{1,2}(\.\d{1,2})*(\([^)]+\))?([A-Z]?\d*(\([^)]+\))*)*')
if [[ -n "$name" && -n "$version" ]]; then
echo "$name,$version"
fi
done < "$input_file" > "$output_file"
Last updated