20 lines
		
	
	
	
		
			436 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			436 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
file="$1"
 | 
						|
 | 
						|
horizontal=0
 | 
						|
depth=0
 | 
						|
 | 
						|
while read line; do
 | 
						|
	direction="$(echo "$line" | cut -d ' ' -f 1)"
 | 
						|
	amount="$(echo "$line" | cut -d ' ' -f 2)"
 | 
						|
	case "$direction" in
 | 
						|
		forward) horizontal=$((horizontal + amount)) ;;
 | 
						|
		down) depth="$((depth + amount))" ;;
 | 
						|
		up) depth="$((depth - amount))" ;;
 | 
						|
	esac
 | 
						|
done < <(cat "$file")
 | 
						|
 | 
						|
echo "Horizontal: $horizontal"
 | 
						|
echo "Depth: $depth"
 | 
						|
echo "Product: $(( depth * horizontal ))"
 |